<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                前后臺分別開發完畢后,本節進行集成測試以保障新增課程功能的正確性。 # 清緩存 測試前先清除session緩存以免發生CORS錯誤。 ![](https://img.kancloud.cn/50/9d/509db51e1ed2fea9531cab814e49737f_1194x406.png) # 添加路由 添加子路由: course/course-routing.module.ts ```typescript import {AddComponent} from './add/add.component'; const routes: Routes = [ { path: 'add', component: AddComponent } ]; ``` 添加根路由: app-routing.module.ts ```typescript const routes: Routes = [ ... { path: 'course', loadChildren: () => import('./course/course.module').then(mod => mod.CourseModule) } ]; ``` # 初始化登錄用戶 ![](https://img.kancloud.cn/17/9d/179d9e0463f98e475d6d87ee37d0552f_676x52.png) # 集成測試 使用初始化用戶登錄系統后在瀏覽器輸入`http://localhost:4200/course/add` ![](https://img.kancloud.cn/0e/de/0ede8a96121327cf640a0fb12e06fdd8_796x324.png) ## 引入模塊: ```typescript @NgModule({ declarations: [AddComponent, KlassMultipleSelectComponent], imports: [ CommonModule, CourseRoutingModule, ReactiveFormsModule, ? KlassModule, ? CoreModule ? ] }) export class CourseModule { } ``` * ? formGroup所在模塊 * ? 選擇教師組件TeacherSelectComponent所在模塊 * ? KlassMultipleSelect依賴的多選組件MultipleSelect所在模塊 ## 暴露(輸出)組件 組件默認被聲明到模塊的declarations中,表明該組件為本模塊的私有組件。若組件需要共享給其它模塊,則需要將其聲明到exports中。 core/core.module.ts ```typescript exports: [ SelectComponent, MultipleSelectComponent ? ] }) export class CoreModule { } ``` klass/klass.module.ts ```typescript ], exports: [ TeacherSelectComponent ? ] }) ``` ![](https://img.kancloud.cn/e2/87/e287d09d16149270e761c609b31548cc_681x480.png) # 添加測試數據 添加幾個教師以及幾個班級后再次測試. ![](https://img.kancloud.cn/07/8d/078d71da02572c28f6516f5c9026c059_445x345.png) 控制臺發生了500錯誤: ![](https://img.kancloud.cn/07/11/07113adfa27426f61438543e31d445d1_1390x253.png) 查看網絡信息獲取發起請求的內容: ![](https://img.kancloud.cn/b9/69/b969eb530090e357eb7ed7f9170fcd61_930x274.png) ## 修正BUG 發現是由于在提交時沒有傳入course的名稱導致的。排查對應的單元測試及組件代碼發現在onSubmit方法中的確沒有在提交信息時加入課程名稱,修正如下: course/add/add.component.ts ```typescript onSubmit() { this.course.name = this.formGroup.get('name').value; ? this.courseService.save(this.course).subscribe((course) => { console.log(course); }); } ``` 同步補充單元測試文件: course/add/add.component.spec.ts ```typescript fit('onSubmit', () => { component.formGroup.get('name').setValue('test'); ... expect(course.name).toEqual('test'); }); ``` # 測試結果 ![](.8_images/83.png) # 參考文檔 | 名稱 | 鏈接 | 預計學習時長(分) | | --- | --- | --- | | 源碼地址 | [https://github.com/mengyunzhi/spring-boot-and-angular-guild/releases/tag/step6.1.8](https://github.com/mengyunzhi/spring-boot-and-angular-guild/releases/tag/step6.1.8) | - |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看