我正在编写一个角度应用程序,在这个应用程序中,我的控制器调用一个API,该应用程序返回实时数据,然后显示在我的html文档上。
我使用量角器进行端到端测试,使用茉莉花进行单元测试。
我正在模拟我的API调用,以确保API没有被调用。
我的问题是,我是否应该用量角器测试API调用,检查我的html文档是否在GET请求之后更新,或者在使用jasmine进行单元测试时是否应该测试API调用。
我有一种感觉,答案是我应该用我的单元和端到端的测试来测试这个API调用,但是我希望有人能够提供清晰。
发布于 2015-04-06 13:17:26
单元测试的主要目标是测试您的代码(无论是JavaScrip还是其他代码)是否正在做它应该做的事情。每个测试都应该针对静态或人为的数据进行,不应该在API上运行。静态数据为您提供所需的控件。如果您的代码需要在X= 7时分支,则可以故意设置该值,并验证代码是否确实分支。当您在API上运行时,您没有该控件。即使你是控制API的人,对它进行单元测试也是一个坏习惯。
端到端测试完全不同。在这里,我们不是在测试代码是否在粒度级别上工作(我们已经在单元测试中这样做了),我们正在测试应用程序作为一个整体工作。当在应用程序中单击特定按钮时,是否发生了预期的事情?所有预期的元素是否都出现在页面上?您仍然需要对已知的数据进行测试,这样做和在单元测试中一样重要,但是在这里您可以看到应用程序在运行时是如何对其做出反应的。一个特定的屏幕加载时间太长了吗?按一下按钮没有给你你所期望的吗?这种测试可以让您像用户一样点击应用程序(除了速度更快)。
你应该在你的应用程序上运行这两种测试。单元测试应该在构建过程中运行,并且在构建完成后应该运行端到端测试。
https://stackoverflow.com/questions/29479495
复制