3

在最小起订量单元测试中使用以下行时,我收到 System.BadImageFormatException。

mockDataAccessLayer.Setup(dal => dal.ListItems(It.IsAny<List<IFilter>>()));

例外:

System.BadImageFormatException : [C:\Users\ric\AppData\Local\Temp\q3a2acu1.brz\RJ.DAL.test\assembly\dl3\cb8fb82f\e33b012a_c5f6cc01\RJ.DAL.test.DLL] The signature is incorrect.
at RJ.DAL.test.DALLayerTest.DataAccessLayerTest()

完整的单元测试:

[Test]
public void DataAccessLayerTest()
{   
    var mockDataAccessLayer = new Mock<IDAL>();
    mockDataAccessLayer.Setup(dal => dal.ListItems(It.IsAny<List<IFilter>>()));
    var dataAccessLayer = mockDataAccessLayer.Object;
}

我相当确定问题出在 IFilter 列表上,因为我在其他地方使用了非常相似的代码,而没有 It.IsAny 可以正常工作。有任何想法吗?

4

1 回答 1

8

正如 Hans 所提到的,这是由于缺少接口组件。添加包含接口的 dll 解决了这个问题。

于 2012-03-01T16:23:52.130 回答