のためのユニットテストは、私はユニットテストに機能ここヌルエラーWebBrowserコントロール
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例外とユニットテストがキャッチしに行くと、ユニットテストは失敗します。
この問題を解決するにはどうすればよいですか?
add()関数をUIコントロールに依存させるのではなく、3番目のパラメータcを渡して、呼び出し元コードにtxtInputBoxから値cを渡さないようにしてください。そうすれば、コードをフォームの実装から分離することができます。 – spodger