2009-01-07 98 views
3

是否有一种合适的方式来使用aspx视图引擎来测试视图?单元测试aspx视图

我一直在玩,让我得到一个解析的字符串作为像结果不同的方式:

view.RenderView(viewContext); 

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

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

回答

-1

我的建议是不打扰。坚持测试模型和控制器。检查特定的HTML只会导致一个脆弱的测试基地,这将打破你对布局稍作修改的时刻。

0

我所做的是创建对象以“驱动”用户界面并将它们全部放入“BusinessObjects”dll中。当需要创建接口时,接口本质上会从这些对象中抽取结果。然后我使用标准的NUnit单元测试对商业对象进行单元测试。我担心你的问题可能对MVC框架更具体一些,但我希望这给你一些思考。

+0

我们已经这样做了,这是MVC的最大好处。但是,视图仍然可能很复杂并且包含错​​误,我们希望尽可能进行测试。 – flukus 2009-01-07 01:49:09

1

你签出Selenium吗?它针对Web UI测试,并在Hunt和Thomas的Pragmatic Unit Testing in C# with NUnit中进行了讨论。它使用NUnit,尽管它的测试方式实际上比单元测试更像是系统测试(仅仅因为您必须启动Web应用程序并导航到您的页面才能测试它)。对不起,在我早些时候的回答中我没有走这条路,但昨天早上我有些匆忙!

还有NUnitAsp,但该项目已基本放弃。它的工作原理在当天广受赞誉,但我不愿意推荐任何不再积极发展的产品。