我必须在我的 button_Click 方法中运行代码来进行回归测试,但由于该方法是私有的,我不能简单地从我的回归测试程序集中调用它。
private void button_Click(object sender, EventArgs e){
//Does stuff
}
从这里采取的最佳方法是什么?我有两个想法:
- 将 button_Click 的内容放入单独的公共方法中
- 使 button_Click 成为公共方法
我更倾向于选项 1,因为它有助于在 UI 和业务逻辑之间建立更多的分离。也许有更好的方法来解决这个问题?
附录:
好的,这是一个简单的例子,我使用了一个“薄”的 UI 层。我是否正确理解这一点?RefreshForms 方法是表单代码的一部分,但将其放入它自己的方法中以使 button_Click 方法尽可能地精简。
那么,QA 代码只测试业务逻辑,一切都好吗?
表格代码:
private void button_Click(object sender, EventArgs e){
int res = BusinessLogic.SquareIt(Convert.ToDouble(textBox1.Text));
RefreshForms(res);
}
public void RefreshForms(){
textBoxRes = res.ToString();
}
业务逻辑代码:
public void SquareIt(double input){
return Math.Pow(input, 2);
}
质量保证代码:
[Test]
public void RunTest(){
Assert.AreEqual(BusinessLogic.SquareIt(3),9);
}