我如何(或应该)测试第三方模块与茉莉花成角度?

时间:2016-09-14 00:00:02

标签: angularjs unit-testing jasmine

我刚刚开始接受单元测试,但我似乎最终想到了圈子并且真的想要一些指导。我完全理解如何测试添加功能的典型示例,但我的应用程序并不简单。

我的应用程序概述(如果有帮助,我可以提供代码): 我有基本上对我的API进行XHR调用的服务。我到目前为止测试的每项服务都会转到正确的URL,模拟成功和错误响应的响应,我觉得很开心它已经足够测试了。

现在我的控制器基本上调用服务,抓取数据并成功调用angular-nvd3 nv.addGraph()并使用一些配置选项来绘制图表。出错时显示Toast消息。

所以现在我想知道我在这个控制器中测试到底是什么?这对我来说似乎是正确的,但有些似乎无法测试:

  1. 服务称为
  2. div在成功时有一张图表(这是可测试的吗?)
  3. 失败时显示toast(这是可测试的吗?)
  4. 我可以检查函数是否被调用,但结果似乎对我来说不可测试。我可以模拟服务调用的响应,但这对我对服务的测试似乎是多余的。

    任何建议都会有所帮助,操作数据的函数似乎很容易理解,但是当它涉及视图元素或XHR请求时,我开始感到困惑,因为预期的成功总是准确的,因为它被嘲笑。

    非常感谢。

1 个答案:

答案 0 :(得分:0)

在您的控制器上,您可以测试:

  1. 服务被召唤(我认为你已经这样做了,干得好)
  2. 您可能会将Service中的数据放入某个变量中,您可以检查变量是否已正确分配
  3. 调用Toast.show,并显示您希望在出现故障时显示的消息
  4. 在我看来,测试div是否有图表将是自动UI测试的候选者。