如何在数据来自文本框时进行单元测试

时间:2017-04-14 19:06:32

标签: unit-testing xunit

我是编写单元测试用例的新手。 我正在尝试使用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

}

单元测试的目的是检查按钮单击上调用的方法是否运行没有错误。

1 个答案:

答案 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
}

通过这样做,这允许您测试数据操作逻辑,而不依赖于测试向服务发送数据。