NUnit无法加载文件或程序集'LogAnalyzer

时间:2013-02-13 12:01:55

标签: nunit

您好我刚开始阅读The Art of Unit Testing: With Examples in .Net以了解单元测试是什么以及如何正确编码单元测试。

首先,我在本书中试图使用Visual Studio中的集成单元测试工具,我假设它被称为NUnit。我错了,但没有问题,因为单元测试的原理应该是相同的两个(如果我错了,请纠正我)

我尝试在我的电脑上安装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”或其依赖项之一。试图加载格式不正确的程序。

这是我在安装NUnit后遵循的步骤:

  1. 创建课程项目
  2. 添加对已测试项目的引用
  3. 添加对NUnit的引用
  4. 打开NUnit GUI
  5. 从调试文件夹
  6. 加载NUnitClassLibrarry.dll
  7. 运行(这是出现错误的地方)
  8. 我做错了什么,如何解决?

1 个答案:

答案 0 :(得分:0)

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