嗨,我刚开始阅读单元测试的艺术:.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,版本=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。
这是我安装 NUnit 后遵循的步骤:
- 创建班级项目
- 添加对被测试项目的引用
- 添加对 NUnit 的引用
- 打开 NUnit 图形用户界面
- 从调试文件夹加载 NUnitClassLibrarry.dll
- 运行(这是出现错误的地方)
我做错了什么,我该如何解决?