初心者のためのC#プログラミング本格入門62 - エラーテストもしっかり行おう
前回で式の有効性を判定できるようになりましたが、それだけではプログラムが正しく作られているとは言い切れません。何故ならば、現在Successがtrueの時をテストしていますが、エラーであるfalseの時がテストされていないからです。より簡単に言うと、偶然Successプロパティの値がtrueなのかもしれません。
プログラムの正しさをより深く確かめるためにエラー処理が正しく行われているのかをチェックするテストプログラムを作ります。
//間違った式が指定された場合の解析処理をテストする
public void ErrorExpressionCheck()
{
string value = "1 ; 2";
this.target.AnalyzeExpression( value );
if ( target.Success == true )
{
System.Console.WriteLine(
"誤った式を解析できていません。" );
}
}
テストプログラムを作ったら、メインプログラムから呼び出します。
class TestProgram
{
static void Main()
{
MultiAnalyzerTest multiTests =
new MultiAnalyzerTest();
multiTests.AnalyzeSimpleExpression();
multiTests.ErrorExpressionCheck();
}
}
このテストを実行して何のエラーメッセージも表示されなかったら、ひとまず簡単な式に対するエラーチェックは、正しく行われていると判断できます。人間はどうしても、正しい事例ばかりを考えてしまいがちですが、正しくない事例も考えなくてはなりません。1つのテストを考えたら、その反対のテストを考えるという風に、色々なテストを作って実行しましょう。そうすれば、バグを減らせます。