TypeMock在静态类中伪造静态方法

时间:2015-02-05 22:18:30

标签: c# .net unit-testing typemock-isolator

使用TypeMock Isolator ...

我正在尝试模拟静态类中的静态方法调用,但它一直调用原始代码。

我跑过this线程,我正在做他们的建议,但仍然没有运气。

我尝试过两种不同的方式:

1:

Isolate.Fake.StaticMethods(typeof(QueueDAO), Members.ReturnRecursiveFakes);

2:

Isolate.WhenCalled(() => QueueDAO.UpdateQueueStatus(queueCmtId, CmtQueueStatus.Error)).IgnoreCall();

两种解决方案都不起作用。它是否与传入的枚举有关?

2 个答案:

答案 0 :(得分:2)

两者都应该有用。默认情况下,参数被忽略,因此第二个参数也应该起作 你在测试类或方法上有[隔离]吗?

您可能有另一种隔离方法可以覆盖此方法。 请查看是否有一个简单的测试隔离updatequeuestatus然后直接调用它? 如果没有打开日志记录并将其发送到support(at)typemock.com进行分析。

答案 1 :(得分:0)

作为typeof传入的对象应该是包含静态方法的类,而不是对象本身。

Isolate.Fake.StaticMethods(typeof运算(QueueDAO));

QueueDAO对象是否包含静态方法,或者是否有扩展类?