Mock.Verify抛出错误,但Mock.Setup实际上有数据

时间:2017-06-21 20:27:34

标签: unit-testing mocking

我是单元测试和模拟数据的新手。我有2个嘲笑的回购,我已经设置了这样:

        [Test]
    public void TestRun()
    {

        _UserRepo.Setup(x => x.GetById(RequestCache, It.IsAny<Guid>())).Returns(new User
        {
            Id = Guid.NewGuid()
        });

        _repo.Setup(x => x.GetById<Company>(RequestCache, It.IsAny<Guid>())).Returns(new Company
        {
            Id = Guid.NewGuid()
        });


        var result = _query.Run(RequestCache);
        Assert.NotNull(result);
        Assert.IsFalse(result.HasErrorsOrWarnings());

        _UserRepo.Verify(x=> x.GetById(RequestCache, It.IsAny<Guid>()), Times.Once);
        _repo.Verify(x=> x.GetById<Company>(RequestCache, _id), Times.Once);
    }

当我调试时,我表明我确实有一个随机guid的新用户,与公司相同。问题是,当我验证已经调用了repo时,我得到一个预期错误1但是为0。

        _UserRepo.Verify(x=> x.GetById(RequestCache, It.IsAny<Guid>()), Times.Once);
        _repo.Verify(x=> x.GetById<Company>(RequestCache, It.IsAny<Guid>()), Times.Once);

有什么建议吗?

由于

0 个答案:

没有答案