【发布时间】:2021-04-15 10:26:59
【问题描述】:
我正在尝试捕获参数传递给函数,然后在参数的属性之一等于特定值时做出一些断言。
不幸的是,传递了一个对象,因此我不能根据官方文档快速断言。
cat.eatFood("Fish");
expect(verify(cat.eatFood(captureAny)).captured.single, ["Fish"]);
如果这个伪代码,我想实现一些如图所示的东西;
cat.eatFood(fridge);
expect(verify(cat.eatFood(captureAny)).captured.single, fridge.milk == "Milk");
或者我只是不会将参数冰箱存放在其他地方。
【问题讨论】:
-
expect(verify(cat.eatFood(captureAny)).captured.single.milk, "Milk");? -
我收到一个错误TestFailure(没有匹配的调用。所有调用:...)
-
我也想将它写入变量。
var captured = verify(cat.eatFood(captureAny)).captured.first; -
它对我有用,
var captured = verify(cat.eatFood(captureAny)).captured.first;也是如此。请发布一个可重现的示例和确切的错误消息。 -
我能够解决问题。你是对的。谢谢你的帮助。这是工作代码:
var verification = verify(mockedSrv.send(captureAny)); expect(verification.captured[0].name, expectedName); expect(verification.captured[0].isFast, false);
标签: unit-testing dart mockito