我正在为我的用户控件编写一个测试用例,它将提示使用 MessageBox.Show 进行用户操作,要求处理或取消操作。
我如何设计我的单元测试来模仿用户交互以继续?
我不想重构以将逻辑移至中间层。这是获得用户同意并继续进行中间层调用的简单案例。任何针对此场景重构 UI 的帮助/想法也会有所帮助。
单击按钮无非是调用相应的按钮click
事件。所以你可能想围绕它构建你的测试。
更好的是(如果情况还不是这样),将代码移出前端,并围绕业务操作构建单元测试,否则您可以通过单击按钮来调用。
作者编辑后更新
只要您不准备拆分事物,您就无法让它发挥作用,您无法围绕“单击此处”、“单击那里”构建单元测试。想象一下下面的代码:
private int MyFunction()
{
bool insideVariable = false;
if(insideVariable)
return 1;
else
return 2;
}
你会never能够对 insideVariable 设置为 true 的情况进行单元测试;您可以:
- 重构你的代码,这样
return 1
声明位于中间层的某个位置
- 重构以便
return 1
语句是 GUI 中的一个方法。然后您可以测试该功能。
应用程序前端应该很容易替换,因此不应在其中存储任何业务逻辑。单元测试只是主 GUI 旁边的另一个前端。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)