asp.net mvc控制器动作测试

时间:2010-05-16 09:53:33

标签: asp.net asp.net-mvc tdd

我只是想知道其他人如何在asp.net mvc中测试控制器操作?我的大部分依赖项都被注入到我的控制器中,因此动作方法中没有大量的逻辑,但是我认为可能存在一些条件逻辑,我认为这是不可避免的。

在过去,我已经为这些操作方法编写了测试,模拟了依赖关系并测试了结果。我发现这是非常脆弱的,是一个真正的PITA维护。在任何地方使用'Expect'和'Stub'方法很容易中断,但我没有看到任何其他测试控制器操作的方法。

我实际上认为手动测试其中一些可能更容易!有人有什么建议吗?也许我在这里错过了什么?

由于

姆兰

1 个答案:

答案 0 :(得分:1)

我认为我没有为控制器编写单一测试,因为我的所有逻辑都在其他地方。就像你说的那样,控制器中包含最少量的代码,其中的任何逻辑都非常简单,实际上并没有完整的测试策略。

我更喜欢为我的模型提供大量测试以及任何支持代码,如DTL和数据层等。

我想我已经看到有些人模仿他们的copntoller,传递预期的模型并查看结果输出,但我不确定给你多少。

我认为如果我要测试一个控制器,我只会真正测试后期操作,以确保给我的控制器的内容是我在模型中获得的以及测试(安全性)。但后来我在不同级别的许多地方都有安全保障。

但所有这些都是集成测试而不仅仅是功能性的。功能我在其他地方就像我之前所说的那样。

然后再说一遍,如果值得写,那么值得测试吧?我想你需要确定可破坏位的位置和位置以及测试方式。