在webcontrols的单元测试时出现空错误

时间:2017-09-15 09:16:27

标签: c# asp.net .net unit-testing testing

我正在尝试对功能进行单元测试

int add(a,b)
{
  int c = txtInputBox.value;
  int d = a+b+c;
  return d;
}

这里,我只是传递值a和b。我没有传递C的值。它是从文本框中获取的。

当我在我的Web应用程序项目中调用该函数时,该函数正常工作,因为我从aspx页面控件中获取了C的值。

但是当我从单元测试项目运行此函数时,文本框控件失败,因为页面不会被加载,因此文本框也不会被加载。函数add(a,b)通过单元测试项目执行。

  

因此,txtInputBox将为null

单元测试进入调试错误,null异常和单元测试进入catch并且单元测试失败。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我相信你正在使用MS Unit Test Project来做这件事。首先,MS Unit Test无法测试与UI相关的任何内容,为此,我们进行了代码UI测试。在提出您的问题时,您应该考虑移出访问Textbox的代码(或任何UI元素)。考虑将其作为参数传递给此函数,如下所示。

public int Add (int a, int b, int c)
{
   // Do Something
}

希望这有助于!!