【问题标题】:Testing multiple components in angular 2以角度 2 测试多个组件
【发布时间】:2017-06-23 20:36:38
【问题描述】:

我在 component1 中有一个变量 v1,在 component2 中有一个 v2。每当 v1 发生变化时,v2 就会发生变化。 我想为上述情况编写一个测试用例,但不明白如何编写它,因为在单元测试中我们每次只考虑一个组件。 我的变量取决于 ngrx 存储,每当 v1 更改时,它都会触发一个动作,而我的变量 v2 会在每次触发动作时发生变化。 我应该编写单元测试还是 e2e 测试?

【问题讨论】:

    标签: angular unit-testing ngrx


    【解决方案1】:

    我认为您可能应该同时编写单元测试和 e2e 测试。

    对于您的单元测试,您将拥有 3 组独立的单元测试。一个用于您的第一个组件,一个用于您的第二个组件,一个用于 ngrx 减速器。

    最后,为了测试整个事物是否很好地集成在一起,编写了 e2e 测试。但是 e2e 测试不会测试变量变化。它必须测试某种类型的 dom 更改。

    所以我假设 v2 以某种方式用于在 dom 上显示某些内容。如果它没有做任何对 dom 可见的事情,那么单元测试就足够了。

    【讨论】:

    • 所以我想知道在这种情况下您将如何处理代码覆盖率,因为 e2e 不会增加覆盖率
    • 三个单元测试会增加代码覆盖率。也就是说,如果您真的想确认某些东西是否有效,我认为 e2e 测试比单元测试更有价值。此外,如果您真的关心代码覆盖率,您可以将单元测试编写为集成测试。 Angular 绝对允许您渲染所有子组件并使用真实的服务。唯一的问题是编写这些类型的测试很痛苦。使用 Cypress 之类的东西来做到这一点要容易得多。
    【解决方案2】:

    嗯...为什么要测试 ngrx 行为?当变量处于默认状态和被修改时,您可能应该有测试用例来测试您的组件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      相关资源
      最近更新 更多