我目前正在为一个调用服务上的函数的Angular Controller编写单元测试。我使用茉莉花间谍来确保对服务的调用传递正确的参数。一切似乎都没问题;这或多或少只是测试Controller的配置。我还测试了返回的值:返回的对象包含某些属性,它们是有效的。同样,我的信心很高,尽管单元测试现已进入集成测试区域。我确定这个功能没有错误。
我们重构了这项服务。它的函数定义以及返回的对象都已更改。整个应用程序的测试都被破坏了。对我来说,这几乎似乎没问题。我应该有很多失败的测试。我的应用程序的中心点不再有效。但是,我也认为改变一个终点不应该是一个很大的麻烦。
所以我的问题是:我应该如何测试对服务的调用?通过检查呼叫和响应,我做得太多了吗? IMO响应是我应该关心的(因为参数也被隐式地测试)。尽管如此,许多测试似乎都无法简单地更改为抽象层。