我希望你知道,因为我没有看到它。无论谁弄明白人们如何实现这项测试所要实现的目标,都会获得奖励积分。
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();
}
}
答案 0 :(得分:4)
原来这是一种飞行员错误。我错误地认为Moq在Mono上工作正常。 (它看起来确实很好)。此问题仅在使用mono的gmcs编译时发生,而不是在使用Microsofts csc编译时发生。
我已经报告了单声道团队的相应错误,并将继续确保使用mono的gmcs.exe编译完整的Moq测试套件
对不起噪音。
卢卡斯
答案 1 :(得分:0)
此测试工作正常。
由于没有正在测试的系统,您正在测试moq是否按预期工作。
答案 2 :(得分:0)
抱歉不够清楚。我正在测试的确是Mock表现得像我期望的那样。对我来说,上面的测试失败了。听到它传给你我感到非常惊讶。 我在VisualStudio 2008中运行测试。我刚刚升级到Moq 2.6,测试仍然失败。您使用哪种版本的Moq进行此测试?
答案 3 :(得分:0)
这不会使用trunk(3.0 beta)的最新版本重新编译