【问题标题】:Correct way to test Angular app测试 Angular 应用程序的正确方法
【发布时间】:2018-03-21 04:57:43
【问题描述】:

所以这更像是一个理论问题而不是编程问题。 在我对 Angular 4 框架的基本理解中,组件可以有inputs, outputs and services which also interact with the store to store data

现在所有这些,在 web 应用程序的情况下都显示在模板上。我最近一直在考虑测试这样的应用程序。

我计划使用Jasmine 作为框架,使用Karma 作为 Chrome 上的测试运行器(目前)。

话虽如此,我应该测试什么?

根据我的理解,基本测试应该包括一些传递给组件的模拟对象,并检查它是否在模板上正确呈现,模拟服务并检查我们收到正确响应时呈现的内容。

  1. 那之后我该怎么办?在我测试过这个之后?
  2. 这种行为是如何驱动开发的?我还能做些什么?
  3. 什么是“良好的角度测试”?

【问题讨论】:

  • 你说的是单元测试还是端到端测试?
  • IMO 太宽泛了
  • @Akanksha 我想了解更多关于他们俩的信息。

标签: javascript angular user-interface testing karma-jasmine


【解决方案1】:

既然你已经提到了 jasmine 与业力,我回答这个问题的观点将主要集中在单元测试上。让我们一个接一个地问

什么是“良好的角度测试”?

1) 单元测试应该由开发人员而不是其他任何人(测试人员)编写。

2) 它必须同时处理正面和负面的情况。

3) 所有网络调用都应该被模拟或存根。

4) 无论环境如何,它都应该通过。

5) 它应该易于阅读、可靠且不应测试集成。

这种行为是如何驱动开发的?我还能做什么?

简而言之 BDD:

1) 在开发之前编写单元测试用例

2) 让所有单元测试用例都失败

3) 从您的开发单元开始。通过断言。

4) BDD 是 TDD 的进步。在 BDD 中,我们不应该测试实现,但应该测试行为。

5) BDD 也提高了代码质量,因为我们根据行为创建测试用例。

那之后我该怎么办?在我对此进行测试之后?

目前的趋势如上所述,编写测试用例后开始开发。写断言,即使是非技术人员也能理解行为。

【讨论】:

    【解决方案2】:

    您还应该检查面包屑是否就位,面包屑用于页面之间的内部路由。还要在应用模块中使用路由组件的正确路径。

    【讨论】:

    • 此答案可能特定于您的应用程序。不是每个人/每个应用程序都有面包屑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多