- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 FakeItEasy 伪造一些 Entity Framework 调用,以确保正确映射一堆奇怪的遗留数据库表。
我需要断言,正在将具有匹配特定 DeliveryAddress 的发票的客户添加到数据库中。
如果我这样做:
A.CallTo(() => db.Customers.Add(
A<Customer>.That.Matches(
c => c.Invoices.First().Address == EXPECTED_ADDRESS)
)
)).MustHaveHappened();
代码完美运行。我想通过将期望移到别处来简化语法,但是当我这样做时:
var expected = A<Customer>.That.Matches(
c => c.Invoices.First().Address == EXPECTED_ADDRESS)
);
A.CallTo(() => db.Customers.Add(expected)).MustHaveHappened();
测试失败。 FakeItEasy 代码内部发生了什么,这意味着期望表达式在内联时有效,但不能在变量中捕获并在以后重用?
最佳答案
答案在 Always place Ignored and That inside A.CallTo 的文档中:
The
Ignored
(and_
) andThat
matchers must be placed within the expression inside theA.CallTo
call. This is because these special constraint methods do not return an actual matcher object. They tell FakeItEasy how to match the parameter via a special event that's fired then the constraint method is invoked. FakeItEasy only listens to the events in the context of anA.CallTo
.
不过,令我惊讶的是“测试失败”。您使用的是什么版本?从 FIE 2.0.0 开始,像您一样使用 That
should throw an exception喜欢
System.InvalidOperationException : A<T>.Ignored, A<T>._, and A<T>.That
can only be used in the context of a call specification with A.CallTo()
关于c# - 为什么我不能在变量中捕获 FakeItEasy 期望值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43781237/
在阅读了有关我的应用程序的一些统计数据后,我发现更新 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
我是一名优秀的程序员,十分优秀!