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