我只是想知道其他人如何在asp.net mvc中测试控制器操作?我的大部分依赖项都被注入到我的控制器中,因此动作方法中没有大量的逻辑,但是我认为可能存在一些条件逻辑,我认为这是不可避免的。
在过去,我已经为这些操作方法编写了测试,模拟了依赖关系并测试了结果。我发现这是非常脆弱的,是一个真正的PITA维护。在任何地方使用'Expect'和'Stub'方法很容易中断,但我没有看到任何其他测试控制器操作的方法。
我实际上认为手动测试其中一些可能更容易!有人有什么建议吗?也许我在这里错过了什么?
由于
姆兰
答案 0 :(得分:1)
我认为我没有为控制器编写单一测试,因为我的所有逻辑都在其他地方。就像你说的那样,控制器中包含最少量的代码,其中的任何逻辑都非常简单,实际上并没有完整的测试策略。
我更喜欢为我的模型提供大量测试以及任何支持代码,如DTL和数据层等。
我想我已经看到有些人模仿他们的copntoller,传递预期的模型并查看结果输出,但我不确定给你多少。
我认为如果我要测试一个控制器,我只会真正测试后期操作,以确保给我的控制器的内容是我在模型中获得的以及测试(安全性)。但后来我在不同级别的许多地方都有安全保障。
但所有这些都是集成测试而不仅仅是功能性的。功能我在其他地方就像我之前所说的那样。
然后再说一遍,如果值得写,那么值得测试吧?我想你需要确定可破坏位的位置和位置以及测试方式。