- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在使用 ReturnsAsync 时,我们只能让它返回一个新对象。下面的代码有没有更好/更正确的写法?
在这个例子中,我们有某种存储库,我们的实现接受了一个具有 Id 的 Thing 类型的对象(我们想假装我们的数据库设置了 Id)属性:
var repo = new Mock<IRepositoryOfThings>();
//Is there a better way to do this perhaps using ReturnsAsync??
repo.Setup(r => r.Add(It.IsAny<Thing>())).Returns(
(Thing x) =>
{
var tcs = new TaskCompletionSource<Thing>();
x.Id = Guid.NewGuid().ToString();
tcs.SetResult(x);
return tcs.Task;
});
谢谢!
最佳答案
这是我能找到的最好的:
var repo = new Mock<IRepositoryOfThings>();
repo.Setup(r => r.Add(It.IsAny<Thing>())).Returns(
(Thing x) =>
{
x.Id = Guid.NewGuid().ToString();
return Task.FromResult(x);
});
它实际上与您的答案相同,只是稍微短了一点。
关于c# - Moq 使用 ReturnsAsync 并修改 It.IsAny 输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25997246/
我目前正在将 API 重构为异步操作,我需要重构异步测试。我有与 Moq documentation 类似的案例: // returning different values on each invo
我使用最小起订量。我模拟了一个类,它的方法如下所示: public async Task DoSomething() { // do something... } 我的设置如下: SomeMo
我正在尝试像那样模拟存储库的方法 public async Task GetByTypeValue(WhitelistType type, string value) 使用 Moq ReturnsAs
我正在尝试 Mock一个Interface有一个 Task方法。 同样的问题,虽然我似乎无法让代码对我有利:Setup async Task callback in Moq Framework 我的界
我需要模拟我的 IVehicleRecordsRepository 进行一些测试。所以这是 repo 接口(interface): public interface IVehicleRecordsRe
在使用 ReturnsAsync 时,我们只能让它返回一个新对象。下面的代码有没有更好/更正确的写法? 在这个例子中,我们有某种存储库,我们的实现接受了一个具有 Id 的 Thing 类型的对象(我们
我是一名优秀的程序员,十分优秀!