我没有在我的WP7(C#)应用程序中使用MVVM模型。现在我想从我的单元测试代码中测试button2_click函数,以便执行button_click中的代码。如果有可能这样做,请告诉我。
private void button_Click(object sender, RoutedEventArgs e)
{
// Some code
}
示例代码可能非常有用。
谢谢, 木谷
答案 0 :(得分:2)
通常,无论您是否使用MVVM,UI代码都不是单元测试的良好目标。您可以直接从测试中调用该按钮单击处理程序进行单元测试。如果处理程序使用sender
并期望它是一个真正的按钮,那么你将不得不找出最好的方法,没有人能看到你的代码就无法回答。
MVVM在这个实例中可以帮助你,它允许你将代码移动到视图模型,并通过返回ICommand
的属性公开它,然后绑定到Command
按钮的属性。通过使用这种方法,您可以封装原本嵌入UI代码中的代码,并轻松地在其他命令(即菜单选项)中重用代码。
答案 1 :(得分:0)
我可以建议您使用UI自动化框架,例如White,但我不会。
我宁愿建议您使用完善的模式(如MVVM,MVP,MVC等)将您的演示文稿/域/任何逻辑与您的视图分开。您遇到的问题是为什么这是一个好的原因之一理念。没有它,你会遇到更多问题。