- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我不仅需要交换实现,还需要添加必要的检查以确保以正确的顺序调用某些方法。我可以想象像 Mole + Mock 这样的东西会给我这个选项。有谁知道 Moles 有没有这个功能?
这段代码应该有用:
// Verify if Dispose was called
MDisposableObject.Constructor = delegate(DisposableObject instance)
{
MDisposableObject mole = new MDisposableObject(instance);
...
// This doesn't work
//objectContext.Expects(i => i.Dispose()).ToBeCalledOneTime();
};
最佳答案
Moles 旨在为所有内容提供 stub (并且不是模拟),即使是静态或密封方法。在 Moles 手册中写道,它们不像其他模拟框架那样瞄准模拟方面:它们提供隔离,而不是模拟。如果你想检查 Moles 上的调用,你必须按照自己的方式进行。例如:
bool called = false;
MDisposableObject.Constructor = (@this) =>
{
var mole = new MDisposableObject(@this)
{
Dispose = () =>
{
Assert.IsFalse(called);
called=true;
//if you want to call the original implementation:
MolesContext.ExecuteWithoutMoles(() => (@this).Dispose());
//or do something else, even nothing
}
};
};
只有 Typemock Isolator (功能强大但价格昂贵)和 JustMock Telerik 的(新并发,也不是免费的)为所有内容启用模拟功能。
如果您有一些接口(interface)、委托(delegate)和虚拟方法,请使用免费的模拟框架,如 Moq 或 RhinoMocks。
关于我的示例的警告:直到现在我还没有找到如何调用原始构造函数,我的意思是类似
var mole = new SDisposable();
(@this) = mole;
new MDisposable(mole) {...};
实际上,根据我在 msdn 上阅读的内容,这是不可能的......我希望后续版本能够实现这一点。
关于c# - 我可以对用 Moles 创建的痣类型设定期望值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045769/
在阅读了有关我的应用程序的一些统计数据后,我发现更新 75% 的用户需要一个多月的时间。由于所有更新都非常重要,因此我提出了一个应用内警报,告诉用户有一个待处理的更新。 有一个包含实际应用版本 (18
我想知道 RSpec 中是否存在此功能。我在调查时似乎找不到任何结果。 我想做的是可以像这样在 Jest 测试中完成的事情: // This is a Jest expectation expect(
我正在使用 FakeItEasy 伪造一些 Entity Framework 调用,以确保正确映射一堆奇怪的遗留数据库表。 我需要断言,正在将具有匹配特定 DeliveryAddress 的发票的客户
我已经尝试并试图让它发挥作用。 documentation充其量是简洁的: resetExpectations(); - 重置所有请求预期,但保留所有后端定义。通常,当您想要重用 $httpBacke
概率密度和“手动”平均值的计算如下: 我将概率密度函数编码为: myfunc = 0 & x = 0.5 & x = 1 & x < 2, 0.8*(x-1), 0))) } 我知道 EV 是加权积分
我正在将一个模块混合到一个邮件程序中并将其添加为助手,以便在 View 中可以访问它。我需要测试是否从 View 中调用了正确的辅助方法(以便在电子邮件中包含跟踪像素),但 Rspec 似乎不起作用:
我需要一些解析 JSON 文件的帮助。我尝试了几种不同的方法来获取我需要的数据。下面是代码示例以及 JSON 数据的一部分,但是当我运行代码时,出现上面列出的错误。 JSON 中有 500K 行文本,
我想通过 API 从这个 url https://api.hooktheory.com/v1/users/auth 获取一些数据 我可以用 key 输入它,但是一旦我想请求一些数据,它就无法工作,因为
当我在 Ubuntu 16.04 上运行 python 脚本时,出现以下错误。 当我运行相同的代码但不确定哪个包未正确安装时,它在 Windows 上运行良好。 import subprocess i
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我是一名优秀的程序员,十分优秀!