我正在为一个 ASP.NET 网站处理遗留代码,我想重构。
我得出的结论是,测试中断的最简单方法是将最终的 HTML 与旧页面进行比较,尤其是因为无论如何都对 UI 有太多依赖。(如果这是一个不好的方法,请批评)
该页面是从查询字符串动态创建的,因此我需要使用所有不同的组合生成测试。
我该如何运行这个测试,理想情况下我还想将它集成到 NUnit 等工具中,可以这样做吗?
谢谢
我正在为一个 ASP.NET 网站处理遗留代码,我想重构。
我得出的结论是,测试中断的最简单方法是将最终的 HTML 与旧页面进行比较,尤其是因为无论如何都对 UI 有太多依赖。(如果这是一个不好的方法,请批评)
该页面是从查询字符串动态创建的,因此我需要使用所有不同的组合生成测试。
我该如何运行这个测试,理想情况下我还想将它集成到 NUnit 等工具中,可以这样做吗?
谢谢
即使添加像 Panel 这样的单个容器控件也会完全破坏您的逻辑,因为这会更改为旧版 asp.net 生成的 ClientID。
您一定会得到太多误报,而页面并没有真正损坏。
此外,asp.net 不会呈现任何设置为Visible
false 的内容。除非您的项目没有在按钮单击(回发)时可见的代码,否则您不应该遵循这种方法。您会错过对隐藏部分的任何更改。
用户对重构、迁移后的最终页面的接受;最好手动完成。
您可以自动化数据和业务逻辑层的测试,但是使用传统的 asp.net 自动化 UI 测试似乎会占用太多时间并且几乎没有收益。
如果您拥有测试版或终极版,Visual Studio 中有一些选项,而Selenium可能是另一个选项。
关于测试 UI 并且您仍然在 web 表单中,它总是非常复杂,因此根据您的场景,有些东西很容易在代码中测试(在 UI 之前),而其他东西可以只看,直到最后用您的 HTML呈现。
我偶然发现了一个有趣的工具,它似乎可以做到这一点,名为 Llewellyn Falco 的 Approval Tests。