单元测试aspx视图

时间:2009-01-07 01:14:59

标签: asp.net-mvc unit-testing

有没有一种正确的方法来使用aspx视图引擎对单元测试视图进行单元化?

我一直在玩各种方式,让我得到一个可解析的字符串,如:

view.RenderView(viewContext);

但到目前为止我没有运气。

我读过的大部分内容都会进入集成测试领域。集成测试重叠一点,但不允许我使用虚拟数据来检查输出,这是我试图通过单元测试视图实现的主要内容。

3 个答案:

答案 0 :(得分:1)

你签出了Selenium吗?它针对Web UI测试,并在Hunt和Thomas' Pragmatic Unit Testing in C# with NUnit 中进行了讨论。它使用的是NUnit,虽然它实际上是一种系统测试,而不是单元测试(仅仅因为你必须启动Web应用程序并导航到你的页面进行测试)。对不起,我在之前的回答中没有沿着这条路走下去,但昨天早上我有点匆忙!

还有NUnitAsp,但该项目基本上已被放弃。它起作用并在当时受到广泛赞誉,但我不愿意推荐任何不再积极开发的东西。

答案 1 :(得分:0)

我所做的是创建对象以“驱动”用户界面并将它们全部放入“BusinessObjects”dll中。在创建界面时,界面基本上从这些对象中提取结果。然后,我使用标准NUnit单元测试对Business Objects进行单元测试。我担心你的问题可能对MVC框架有点具体,但我希望这给你一些思考的东西。

答案 2 :(得分:-1)

我的建议是不要打扰。坚持测试模型和控制器。检查特定的HTML只会导致一个脆弱的测试基础,这将打破你对布局做出最轻微改变的那一刻。