我是编写单元测试用例的新手。 我正在尝试使用XUnit来测试我的c#方法。
该方法接受来自3个文本框的数据。 如何在没有UI的情况下对此进行单元测试并提供数据?
protected void btnSubmit_Click(object sender, EventArgs e){
string txt1= txtBox1.Text;
string txt2= txtBox2.Text;
string txt3= txtBox3.Text;
// this data is then manipulated and finally sent to a service
}
单元测试的目的是检查按钮单击上调用的方法是否运行没有错误。
答案 0 :(得分:0)
单元测试的一大优点是它可以解决代码中的separation of concerns问题。它还指出了可以从封装中受益的领域。我可以提出的一个建议是封装代码的不同部分,以便您可以创建逻辑分隔。以下是一个简短而简单的例子:
protected void btnSubmit_Click(object sender, EventArgs e){
string txt1= txtBox1.Text;
string txt2= txtBox2.Text;
string txt3= txtBox3.Text;
string data = data_manipulation(txt1, txt2, txt3);
send_to_service(data, sender)
}
public string data_manipulation(string txt1, string txt2, string txt3){
//manipulate data
return manipulated_data;
}
public void send_to_service(string data, object sender){
//send data to service
}
通过这样做,这允许您测试数据操作逻辑,而不依赖于测试向服务发送数据。