同时测试Angular Library,库组件和示例应用程序

Pic*_*cci 10 karma-runner karma-jasmine angular

我使用官方指南和其他帖子创建了一个Angular库(例如来自@Todd Palmer的https://blog.angularindepth.com/creating-a-library-in-angular-6-87799552e7e5).

该库非常简单,它只包含一个组件component.ts及其测试component.spec.ts.

与图书馆一起,我还有一个示例应用程序,在那里我展示了如何使用component.ts.示例应用程序app.component.ts由其自己的测试表示app.component.spec.ts.

我的工作区的脚手架是由Angular CLI(v 6.0.8)创建的.工作区的结构,至少对于我怀疑与我的案例更相关的文件,如下所示

workspace
 - projects
   - library-name
     - src
       - lib
         - component.ts
         - component.spec.ts
       - test.ts
     - karma.config.ts
 - src
   - app
     - app.component.ts
     - app.component.spec.ts
   - karma.config.ts
 - angular.json
Run Code Online (Sandbox Code Playgroud)

如果我ng test library-name只运行测试component.spec.ts运行.

如果我在ng test没有指定库名的情况下运行,因为我想测试组件和示例应用程序,会发生以下情况:

  • 一个浏览器由业力自动打开
  • app.component.spec.ts运行测试,结果显示在刚刚打开的浏览器上
  • 如果我用ctrl + C停止进程,则新进程启动并执行测试component.spec.ts(即第一个测试进程的中断启动第二个测试进程)
  • 如果我再次使用ctrl + C停止测试,那么最终一切都会停止,我将返回命令行

我的问题是,如果有一种方式来运行的两个测试app.component.spec.tscomponent.spec.ts在同一进程中.

Sha*_*vek 7

我知道这是一篇旧帖子,仍未得到答复,但我研究了它并找到了解决方案。

ng test example-ng6-lib-app --no-watch && ng test example-ng6-lib --no-watch
Run Code Online (Sandbox Code Playgroud)

根据问题所附文章,图书馆example-ng6-lib名称在哪里。

请试一试