我最近开始为我正在开发的 Angular 应用程序编写单元测试。 有一件事我不确定,那就是 Angular 上下文中单元测试和集成测试之间的区别。
假设我有一个 Controller 来测试它依赖于另一个(非 Angular )服务,我应该创建服务的模拟还是尽可能尝试使用真实服务。
如果我注入(inject)服务本身,这是否意味着我正在创建集成测试而不是单元测试?
我问这个问题是因为我的同事一直在编写注入(inject)真实服务的测试,并且仍然称它们为单元测试。这非常浪费时间,尤其是当您必须在测试中调试来自注入(inject)服务的错误并且每个服务都依赖于其他 5 个服务时...
最佳答案
单元测试的目的是独立于环境和其他单元验证底层单元的行为。本质上,如果您的被测系统或测试本身与外部系统交互,则这不是真正的单元测试。
几个月前我写了一个article关于这个话题。查看更多信息。
关于angularjs - Angular 单元测试与集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35063165/