0

我有一个单元测试,当它击中一个击中真实数据存储的真实对象时,它工作得很好。像这样的东西:

    [TestMethod]
    public void ATest()
    {
        var p = new Provider();

        var data = p.GetData();

        ...

    }

该测试在所有模式下执行,取回数据并执行从中执行的所有操作。现在,假设我想使用 Rhino Mocks 模拟提供程序。Provider 类实现 IProvider。所以我去写这样的东西:

    [TestMethod]
    public void ATest()
    {
        var p = MockRepository.GenerateStub<IProvider>();

        ...

        var data = p.GetData();

        ...

    }

但是现在当我尝试调试这个测试时,它不起作用。完全没有。我的意思是,我在这个方法的第一行(在'{'本身上)放了一个断点,它没有被击中。有点奇怪...

我是 Rhino Mocks 的新手,也许我遗漏了一些明显的东西?

4

1 回答 1

0

您没有为模拟上的 GetData 调用定义返回值。尝试这样的事情:

p.Stub(s => s.GetData()).Return(testData);
于 2012-05-17T05:45:46.737 回答