【问题标题】:Running ng test on all apps in project在项目中的所有应用程序上运行 ng test
【发布时间】:2018-12-24 23:13:27
【问题描述】:

Angular CLI:6.0.0

使用 CLI 进行新设置

多个项目使用 ng generate 库

生成了 2 个项目以及一个主应用程序

但是,当运行 ng test 时,每个项目都会被一一测试,包括主应用程序

我想要一次测试所有项目(库)和主应用程序的最终测试的问题

使用 ng test 只会一个一个地运行每个项目

但是,当使用测试驱动开发时,我希望能够做到

ng 测试 --watch

并查看整个应用是否已正确测试

【问题讨论】:

  • scripts 中添加一些东西来依次运行每一个应该很简单,不是吗?
  • 感谢@jonrsharpe 更新了问题。我希望能够一次对整个项目进行测试驱动开发
  • 答案不还是一样吗?您可以编写一个包脚本,在每个脚本中启动 ng test --watch,使用 concurrently 之类的东西,因为监视进程可能正在阻塞
  • 另外,TDD 并不一定意味着持续运行所有测试。我定期运行整个套件,但通常更专注于我实际工作的部分。
  • 所以您担心的是,即使所有单元测试都通过了库,但在集成在一起时可能无法全部正常工作?这不是单元测试可以涵盖的内容,您需要更高级别的集成和端到端测试(例如 CLI 使用 Protractor 设置的 e2e 测试)。

标签: angular jasmine karma-jasmine karma-runner angular-cli-v6


【解决方案1】:

有一个未解决的问题 (angular/angular-cli#10765);你可能想关注它。


在此问题得到解决之前,可能会有使用 Nx 的解决方法,如 nrwl/nx#514 (comment) 中所述:

yarn affected:test --files=package.json

如果您想稍微优化测试,也许以下命令会有所帮助。它并行运行测试,仅重新测试失败的测试,并且通常仅测试您所做的更改。

yarn affected:test --base=master --head=HEAD --parallel --only-failed

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多