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

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

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


当前回答

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

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

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

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

其他回答

这在Angular 7中为我工作。它基于ng命令的——main选项。我不确定这个选项是否没有记录,是否可能会更改,但它适合我。我在包里放了条线。Json文件在脚本部分。在这里,我使用ng test命令的——main选项指定了.spec文件的路径。ts文件,我想执行。例如

"test 1": "ng test --main E:/WebRxAngularClient/src/app/test/shared/my-date-utils.spec.ts",

您可以像运行任何此类脚本一样运行该脚本。我通过点击npm部分的“test 1”在Webstorm中运行它。

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

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

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

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

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

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

你的每一个。spec。Ts文件将其所有测试分组在描述块中,如下所示:

description ('SomeComponent',() =>{…}

你可以很容易地只运行这一个块,通过在describe函数名前加上f:

fdescribe('SomeComponent',() =>{…}

如果你有这样的函数,就不会运行其他描述块。 顺便说一句。你可以用it => fit做类似的事情,还有一个“黑名单”版本- x。所以:

Fdescribe和fit只会导致以这种方式标记的函数运行 Xdescribe和xit会导致以这种方式标记的函数以外的所有函数运行

用,包括

这是一种包含的工作

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

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