我用Angular-CLI构建了Angular2项目(beta 20)。

是否有一种方法仅针对一个选定的规范文件运行测试?

我曾经有一个基于Angular2的项目,我可以手动向jasmine文件添加规格。但我不知道如何在因果测试之外设置这个,也不知道如何用Angular-CLI构建将因果测试限制在特定的文件上。


当前回答

只是测试中需要的小变化。SRC文件夹中的Ts文件:

const context = require.context('./', true, /test-example\.spec\.ts$/);

在这里,test-example是我们需要运行的确切文件名

同样地,如果你只需要测试服务文件,你可以替换文件名,比如"/test-example.service"

其他回答

一个简单的方法是用f开头。

fdescribe('testecomponente', () => {
  fit('should create', () => {
    //your code 
  }
  
}
  

如果您在一个使用monorepo架构的项目中工作,那么您必须在命令行中将项目名称写在脚本后。 例如:

ng test MyProject1Name -- --include='myComponent.component.spec.ts'

用,包括

这是一种包含的工作

ng test --include src/app/path-to-component/path-component.component.spec.ts

我试过——主要,但它显示所有失败的结果,而它不是。main会改变主测试。ts文件。

只是测试中需要的小变化。SRC文件夹中的Ts文件:

const context = require.context('./', true, /test-example\.spec\.ts$/);

在这里,test-example是我们需要运行的确切文件名

同样地,如果你只需要测试服务文件,你可以替换文件名,比如"/test-example.service"

你只能用Angular CLI测试特定的文件(ng命令),如下所示:

ng test --main ./path/to/test.ts

更多文档请访问https://angular.io/cli/test

注意,虽然这适用于独立的库文件,但不适用于angular组件/服务等。这是因为angular文件依赖于其他文件(即src/test。遗憾的是——main标志不接受多个参数。