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

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

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


当前回答

这在任何情况下都对我有效:

ng test --include='**/dealer.service.spec.ts'

然而,我通常得到“TypeError:不能读取属性'ngModule'的null”:

ng test --main src/app/services/dealer.service.spec.ts

@angular/cli 10.0.4版本

其他回答

用,包括

这是一种包含的工作

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

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

配置测试。SRC文件夹中的Ts文件:

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

替换/ \ .spec \。Ts $/与您想测试的文件名。例如:/app.component\.spec\.ts$/

这将只对app.component.spec.ts运行测试。

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

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

为像我这样正在寻找一种简单的扩展方法的人添加这个答案:

如果你像我一样使用VS代码,你可以简单地安装Jest Runner扩展,你可以轻松地运行/调试一个测试用例。

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

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

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

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