C# 如何在windows窗体c中对此类代码进行单元测试#
其windows窗体的公共验证部分代码单元测试步骤的常见方法是。 排列->动作->断言 在我看来,我应该用单独的方法编写代码来验证。该方法将返回true或false。它易于检查和单元测试。 问候C# 如何在windows窗体c中对此类代码进行单元测试#,c#,.net,visual-studio,winforms,unit-testing,C#,.net,Visual Studio,Winforms,Unit Testing,其windows窗体的公共验证部分代码单元测试步骤的常见方法是。 排列->动作->断言 在我看来,我应该用单独的方法编写代码来验证。该方法将返回true或false。它易于检查和单元测试。 问候 public int validation() { int flag = 0; Regex Rx = new Regex(@"^[\p{L} \.'\-]{0,20}$"); Regex Rx1 = new Regex(@"^[\p{L} \.'\-]{0,20}$");
public int validation()
{
int flag = 0;
Regex Rx = new Regex(@"^[\p{L} \.'\-]{0,20}$");
Regex Rx1 = new Regex(@"^[\p{L} \.'\-]{0,20}$");
Regex Rx2 = new Regex(@"^[0-9]{10}$");
if (name.Text=="")
{
name.Focus();
errorProvider1.SetError(name, MessageBox.Show("enter your name",
"error", MessageBoxButtons.OK, MessageBoxIcon.Error).ToString());
flag = 1;
}
else if (fathername.Text == "")
{
fathername.Focus();
errorProvider1.SetError(name, MessageBox.Show("Enter your father name",
"error", MessageBoxButtons.OK, MessageBoxIcon.Error).ToString());
flag = 1;
}
}
要编写有效的单元测试,首先您的代码应该是可测试的。为了首先获得一段可测试的代码,您应该将业务与UI分开。通过这种方式,您可以通过单元测试来测试您的业务。另外,如果您使用MVVM模式,您可以独立于您的UI技术来测试您的UI逻辑。谢谢您的代码。。但是我在Regex部分中遇到了错误。。甚至我添加了表单code1的程序集引用<代码>errorProvider1.SetError(名称,MessageBox?!)?2.那些正则表达式的作用是什么?3.请邮寄
public bool ValidateInput(string input)
{
Regex Rx = new Regex(@"^[\p{L} \.'\-]{0,20}$");
Match match = rx.Match(input);
if(match.Success) return true;
return false;
}
// To call the method.
public void Testing(){
string userName = "your user name";
if(ValidateInput(userName))
MessageBox.Show("Your username incorrect.");
else{
// Todo something.
}
}