1

嗨,我刚开始阅读单元测试的艺术:.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 后遵循的步骤:

  1. 创建班级项目
  2. 添加对被测试项目的引用
  3. 添加对 NUnit 的引用
  4. 打开 NUnit 图形用户界面
  5. 从调试文件夹加载 NUnitClassLibrarry.dll
  6. 运行(这是出现错误的地方)

我做错了什么,我该如何解决?

4

1 回答 1

0

我设法找到了解决我当前问题的方法,但我不完全理解为什么会这样。在安装 NUnit 的文件夹中,有一个 x86 版本的程序,出于某种原因,这个可以工作。

于 2013-02-13T12:51:08.097 回答