Angular 单元测试与集成测试

Łuk*_*asz 4 testing unit-testing angularjs

我最近开始为我正在开发的 angular 应用程序编写单元测试。有一件事我不确定,那就是 Angular 上下文中单元测试和集成测试之间的区别。

假设我有一个控制器来测试它依赖于另一个(非角度)服务,我应该创建一个服务的模拟还是在可能的情况下尝试使用真正的服务。

如果我注入服务本身,这是否意味着我正在创建集成测试而不是单元测试?

我之所以这么问是因为我的同事一直在编写注入真实服务的测试,并且仍然称它们为单元测试。这很浪费时间,尤其是当您必须在测试中调试注入服务的错误并且每个服务都依赖于其他 5 个服务时......

Ser*_*diy 7

单元测试的目的是在与环境和其他单元隔离的情况下验证底层单元的行为。本质上,如果您的被测系统或测试本身与外部系统交互,则这不是真正的单元测试。

几个月前,我写了一篇关于这个主题的文章。查看它以获取更多信息。