3

moqユニットテストで次の行を使用すると、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;
}

It.IsAnyを使用せずに他の場所で非常によく似たコードを使用しているため、問題はIFilterのリストにあると確信しています。何か案は?

4

1 に答える 1

8

ハンスが述べたように、それはインターフェースのアセンブリが欠落しているためでした。インターフェイスを含むdllを追加すると、問題が修正されました。

于 2012-03-01T16:23:52.130 に答える