0

我有一个采用 2 个参数的方法,例如:

assetService(assetDto dto, HttpPostedFileBase photo)

我不能用这个最小起订量。我怎样才能做到这一点?(使用“起订量”)


public ResultObjectDto CreateAsset(AssetDto model, HttpPostedFileBase file)

我想最小起订量

Assert.IsTrue(_assetService.CreateAsset(new AssetDto(), postedFileBase).ResultType == ResultType.Error);

这个起订量是错误的,我该怎么做

4

1 回答 1

1

首先,您有一个要使用具有多个参数的方法来模拟的类

public class foo
{
    public virtual int bar(int num, string str, bool b)
    {
        return 1;
    }
}

而不是做一个测试你嘲笑它

public void TestMethod1()
{
    //Mock of the foo class
    var t = new Mock<foo>(MockBehavior.Strict);

    //Setup to return what we want 0 instead of 1
    t.Setup(e => e.bar(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>()))
                  .Returns((int i, string s, bool b) => { return 0; });

    //the actual object
    var f = t.Object;
    //the actual test
    Assert.AreEqual(0, f.bar(1, "s", false));
}
于 2014-01-29T12:01:13.660 回答