首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AngularJS中,为什么将表示逻辑(如jQuery)放入控制器会对可测试性产生负面影响?

在AngularJS中,为什么将表示逻辑(如jQuery)放入控制器会对可测试性产生负面影响?
EN

Stack Overflow用户
提问于 2016-11-03 07:18:03
回答 2查看 124关注 0票数 4

我刚接触Angular,并从“测试”的心态开始编码。我理解将表示逻辑放到控制器中不是“角度方式”,但不理解为什么它会对可测试性产生负面影响。

EN

回答 2

Stack Overflow用户

发布于 2016-11-03 07:25:28

因为它依赖于要测试的DOM。您应该能够在不创建DOM的情况下测试控制器逻辑,因为您应该只模拟依赖关系,然后在构造的视图模型中测试数据。

抛开测试不谈,控制员的工作是编组数据,他们不知道视图,他们只知道视图模型,他们应该只调用后端服务,然后塑造要呈现给视图的数据。如果你在你的控制器中做了更多的事情,你就没有正确地遵循设计模式。

如果您发现自己在控制器中编写业务逻辑,则应该考虑将该逻辑重构到服务中。控制器应该是好的和精简的,只编组服务和视图模型之间的数据流。

票数 4
EN

Stack Overflow用户

发布于 2016-11-03 07:25:56

我会说它应该在指令中,因为您可以使用正在编译的HTML片段的单元测试来轻松地进行测试。我希望有人有比这更好的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40391391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档