angularjs - Angular 单元测试与集成测试

标签 angularjs unit-testing testing

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

假设我有一个 Controller 来测试它依赖于另一个(非 Angular )服务,我应该创建服务的模拟还是尽可能尝试使用真实服务。

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

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

最佳答案

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

几个月前我写了一个article关于这个话题。查看更多信息。

关于angularjs - Angular 单元测试与集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35063165/

相关文章:

java - 如何在 Spring Boot 中注入(inject) Clock.getInstance()?

数据库设计不佳

testing - 是否有返回 500(和其他)HTTP 响应代码进行测试的网站?

python跨平台测试: mocking os.名称

javascript - 如何使用 angularjs 从弹出窗口向表格添加新元素

javascript - 使用外部数据输入更新数组中的对象时提高性能

angularjs - Angular + ngScrollbar

javascript - 不要重复已经重复的项目

unit-testing - 子目录的 golang 测试失败

ruby-on-rails - 由于命名空间冲突而无法测试 RSpec?