こんにちは、単体テストとは何か、単体テストを適切にコーディングする方法を理解するために、The Art of Unit Testing: With Examples in .Netを読み始めました。
最初に、本の中で、著者は Visual Studio ウィッチの統合されたユニット テスト ツールを使用するつもりだと言いましたが、それは NUnit と呼ばれるものだと思いました。私は間違っていましたが、ユニット テストの原則は両方で同じでなければならないため、問題はありませんでした (正しい)間違っていたら私)
PCにNUnitをインストールしようとしましたが、x64 Windows 8がインストールされています.これは私がテストしようとしているコードです:
public class LogAnalyzer {
public bool IsValidLogFileName(string fileName) {
if (!fileName.EndsWith(".slf")) {
return false;
}
return true;
}
}
そして、これはテストを行うコードです:
[TestFixture]
public class LogAnalyzerTests {
[Test]
public void IsValidFileName_validFileLowerCased_ReturnsTrue() {
LogAnalyzer analyzer = new LogAnalyzer();
bool result = analyzer.IsValidLogFileName("whatever.slf");
Assert.IsTrue(result, "filename should be valid");
}
}
NUnit GUI でテストの dll をロードして実行しようとすると、次のエラーが発生します。
LogAnalyzerTests.LogAnalyzerTests.IsValidFileName_validFileLowerCased_ReturnsTrue:
System.BadImageFormatException : ファイルまたはアセンブリ 'LogAnalyzer、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。不正な形式のプログラムをロードしようとしました。
これは、NUnit をインストールした後に実行した手順です。
- クラスプロジェクトを作成する
- テストするプロジェクトへの参照を追加します
- NUnit への参照を追加
- NUnit GUI を開く
- デバッグ フォルダから NUnitClassLibrarry.dll を読み込みます
- 実行(これがエラーが発生した場所です)
私は何を間違っていますか?どうすれば修正できますか?