有没有办法为单个文件而不是整个测试套件运行ng test
?理想情况下,我想在编辑文件时获得最快的反馈循环,但karma
会在每次保存时执行整个套件,这在构建足够大的测试套件时会有点慢。
这与How to execute only one test spec with angular-cli的不同之处在于该问题是关于运行个别规范的。这是关于运行单个文件。该解决方案涉及相同的Jasmine规范功能,但问题的性质略有不同。
我发现Jasmine允许你用describe
(焦点?)为it
和f
方法加前缀。所以,fdescribe
和fit
。如果你使用其中任何一个,业力只会运行相关的测试。因此,要聚焦当前文件,您可以采用顶级describe
并将其更改为fdescribe
。适合我的目的。
值得一提的是,您可以在没有评论的情况下禁用特定测试xdescribe
和xit
xdescribe('Hello world', () => {
xit('says hello', () => {
expect(helloWorld())
.toEqual('Hello world!');
});
});
正如有人已经说过,如果你想专注于一些测试,那么fdescribe
和fit
fdescribe('Hello world', () => {
fit('says hello', () => {
expect(helloWorld())
.toEqual('Hello world!');
});
});
使用npm run test file.component.spec.ts将在angular 7 verison中为我工作。
如果您将spec文件指定为参数,则有效。
例如:
测试foo.spec.ts
希望这可以帮助。