2

我希望你知道,因为我没有看到。无论谁弄清楚如何实现此测试试图实现的目标,都会获得奖励积分。

using NUnit.Framework;
using Moq;

[TestFixture]
public class MoqHuh
{
    public class A {}
    public class B : A {}

    public interface IHelper
    {
        void DoIt(A a);
    }

    [Test]
    public void Huh()
    {
        var mock = new Mock<IHelper>();
        mock.Expect(helper => helper.DoIt(It.IsAny<B>())).Verifiable();

        mock.Object.DoIt(new B());

        mock.VerifyAll();
    }
}
4

4 回答 4

4

原来这是一种飞行员错误。我错误地认为 Moq 在 Mono 上运行良好。(看起来效果很好)。此问题仅在使用 mono 的 gmcs 编译时发生,而不是在使用 Microsofts csc 编译时发生。

我已向 mono 团队报告了相应的错误,并将继续确保在使用 mono 的 gmcs.exe 编译时完整的 Moq 测试套件通过

对不起,噪音。

卢卡斯

于 2009-02-03T09:30:59.333 回答
0

这个测试工作正常。

由于没有被测系统,您正在测试最小起订量是否按预期工作。

于 2009-01-26T23:15:01.427 回答
0

对不起,不够清楚。我正在测试的确实是 Mock 的行为符合我的预期。对我来说,上面的测试失败了。我很惊讶听到它通过了你。我在 VisualStudio 2008 中运行测试。我刚刚升级到 Moq 2.6,但测试仍然失败。您使用哪个版本的 Moq 并通过此测试?

于 2009-01-27T00:34:09.803 回答
0

这不适用于主干中的最新版本(3.0 beta)

于 2009-01-30T19:30:56.850 回答