>本指南探讨了Angular 5项目中的自动测试,覆盖单元和端到端测试。 Angular的内置测试功能可通过Angular CLI或快速启动项目访问。
>
密钥概念:
TestBed
组件是隔离或在角度环境中测试的,以评估模板和依赖关系相互作用。 TestBed
>需要模拟服务或图式NO_ERRORS_SCHEMA
coverageIstanbulReporter
>ng lint
测试技术:
TestBed
<code class="language-typescript">TestBed.configureTestingModule({ imports: [ RouterTestingModule ], declarations: [ DashboardComponent ], schemas: [ NO_ERRORS_SCHEMA ], providers: [ { provide: HeroService, useClass: MockHeroService } ], }) .compileComponents();</code>
<code class="language-typescript">describe('createCustomer', () => { it('should create new customer', (customer) => { // ...assertions... }); // ...more tests... });</code>
karma.conf.js
<code class="language-javascript">module.exports = function (config) { config.set({ // ...configuration details... browsers: ['Chrome'], // ...more configuration... }); };</code>
protractor.conf.js
单元测试:
等技术来解决使用依赖项(其他组件,模块,服务)测试组件(其他组件,模块,服务)等常见问题。 该示例显示了如何测试利用ng test
和NO_ERRORS_SCHEMA
的组件。 解决了使用服务的测试组件,证明了模拟服务的创建以隔离单元测试。FormsModule
RouterTestingModule
该指南提供了一个测试与互动的服务的示例,使用来控制请求和响应,创建各种测试方案。HttpClientModule
>
HttpTestingController
>
>该指南通过量角器介绍端到端测试,显示如何创建辅助功能(例如,)和写E2E测试(例如,在IN中) )。 一个示例演示了测试导航和验证显示的文本。app.po.ts
app.e2e-spec.ts
>该指南说明了如何使用来生成代码覆盖范围报告,以及如何在ng test --watch=false --code-coverage
karma.conf.js
其他实用程序:该指南建议使用
ng lint
何时写测试:该指南结束了结束,讨论何时适当编写测试(原型后,提供足够的资金)以及测试驱动的开发的好处(TDD)。 它强调了测试对生产就绪应用的重要性。 FAQ部分解决了有关角度测试的常见问题。
以上是角度测试:开发人员的介绍的详细内容。更多信息请关注PHP中文网其他相关文章!