1

我正在为一个 ASP.NET 网站处理遗留代码,我想重构。

我得出的结论是,测试中断的最简单方法是将最终的 HTML 与旧页面进行比较,尤其是因为无论如何都对 UI 有太多依赖。(如果这是一个不好的方法,请批评)

该页面是从查询字符串动态创建的,因此我需要使用所有不同的组合生成测试。

我该如何运行这个测试,理想情况下我还想将它集成到 NUnit 等工具中,可以这样做吗?

谢谢

4

3 回答 3

1

即使添加像 Panel 这样的单个容器控件也会完全破坏您的逻辑,因为这会更改为旧版 asp.net 生成的 ClientID。

您一定会得到太多误报,而页面并没有真正损坏。

此外,asp.net 不会呈现任何设置为Visiblefalse 的内容。除非您的项目没有在按钮单击(回发)时可见的代码,否则您不应该遵循这种方法。您会错过对隐藏部分的任何更改。

用户对重构、迁移后的最终页面的接受;最好手动完成。
您可以自动化数据和业务逻辑层的测试,但是使用传统的 asp.net 自动化 UI 测试似乎会占用太多时间并且几乎没有收益。

于 2013-02-27T08:08:55.903 回答
1

如果您拥有测试版或终极版,Visual Studio 中有一些选项,而Selenium可能是另一个选项。

关于测试 UI 并且您仍然在 web 表单中,它总是非常复杂,因此根据您的场景,有些东西很容易在代码中测试(在 UI 之前),而其他东西可以只看,直到最后用您的 HTML呈现。

于 2013-02-27T08:02:36.813 回答
0

我偶然发现了一个有趣的工具,它似乎可以做到这一点,名为 Llewellyn Falco 的 Approval Tests。

http://www.youtube.com/watch?v=52YouQkd-f8

于 2013-02-28T07:39:34.860 回答