我刚接触Angular,并从“测试”的心态开始编码。我理解将表示逻辑放到控制器中不是“角度方式”,但不理解为什么它会对可测试性产生负面影响。
发布于 2016-11-03 07:25:28
因为它依赖于要测试的DOM。您应该能够在不创建DOM的情况下测试控制器逻辑,因为您应该只模拟依赖关系,然后在构造的视图模型中测试数据。
抛开测试不谈,控制员的工作是编组数据,他们不知道视图,他们只知道视图模型,他们应该只调用后端服务,然后塑造要呈现给视图的数据。如果你在你的控制器中做了更多的事情,你就没有正确地遵循设计模式。
如果您发现自己在控制器中编写业务逻辑,则应该考虑将该逻辑重构到服务中。控制器应该是好的和精简的,只编组服务和视图模型之间的数据流。
发布于 2016-11-03 07:25:56
我会说它应该在指令中,因为您可以使用正在编译的HTML片段的单元测试来轻松地进行测试。我希望有人有比这更好的答案。
https://stackoverflow.com/questions/40391391
复制相似问题