Angular 使用不同的测试入口点运行ng测试

Angular 使用不同的测试入口点运行ng测试,angular,unit-testing,karma-runner,angular-cli,Angular,Unit Testing,Karma Runner,Angular Cli,是否可以使用与.angular-cli.json中指定的测试入口点不同的测试入口点运行ng测试 提供了一种通过使用延迟加载的块来增加重建时间的解决方案。但是我担心把测试分成几个部分可能会导致一些测试被遗漏 理想情况下,我会有两个文件: test.ts,test.tmp.ts 带有test.ts,包含: const context = require.context('./', true, /\.spec\.ts$/); 而test.tmp.ts具有: 这样,在开发过程中,我可以运行类似ng t

是否可以使用与.angular-cli.json中指定的测试入口点不同的测试入口点运行ng测试

提供了一种通过使用延迟加载的块来增加重建时间的解决方案。但是我担心把测试分成几个部分可能会导致一些测试被遗漏

理想情况下,我会有两个文件: test.ts,test.tmp.ts 带有test.ts,包含:

const context = require.context('./', true, /\.spec\.ts$/);
而test.tmp.ts具有:

这样,在开发过程中,我可以运行类似ng test-entry point=test.tmp.ts的东西。理想情况下,test.tmp.ts将被git.忽略

目前,可以调用ng test-config=different_karma.conf.js来指定不同的karma.conf.js,在karma.conf.js中,您可以在其中更改对test.ts的引用。但是,这不会成功运行测试,除非我将angular-cli.json中的apps.0.test入口点更改为test.tmp.ts

我得到的错误是:

Uncaught SyntaxError: Unexpected string at src/test.tmp.ts:3
一种解决方案是在.angular-cli.json中创建另一个应用程序,它是第一个应用程序的副本,具有不同的入口点,并调用ng test-app,但随后必须维护两个不同的应用程序配置

我每次都可以直接更改test.ts,但可能会被提交


编辑:使更改angular-cli.json看起来似乎不是必需的,但我似乎无法使其正常工作。

您可以发布新的test.tmp.ts内容吗?test.tmp.ts内容与test.ts完全相同,但const context=require.context'./',true,/\.spec\.ts$/;更改为const context=require.context'/app/some_module/,true,/\.spec\.ts$/;但还是复制到这里:也许您可以看看ng test-main选项。
Uncaught SyntaxError: Unexpected string at src/test.tmp.ts:3