小编Mar*_* M.的帖子

为什么Moq-mocked方法返回null?

我需要一个测试方法的帮助我试着写...

我需要测试用户是否可以显示他的个人资料,但是当我尝试使用我的模拟GetProfileFromUserName方法时遇到错误.方法返回null.我不明白的是,我有一个名为GetEmail的类似方法,它基本上做同样的工作.

这是检索配置文件的代码,它不起作用:

mockUserRepository.Setup(gp => gp.GetProfileFromUserName(userProfile.UserName)).Returns(new Profile { ProfileID = userProfile.ProfileID });
Run Code Online (Sandbox Code Playgroud)

这是用于检索电子邮件的代码,该代码有效.

mockUserRepository.Setup(em => em.GetEmail(new MockIdentity("JohnDoe").Name)).Returns("johndoe@gmail.com");
Run Code Online (Sandbox Code Playgroud)

这是模拟调用的方法的片段,并返回null而不是配置文件:

public ActionResult ShowProfile()
    {
        var profile = _userRepository.GetProfileFromUserName(User.Identity.Name);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?如果我将GetProfileFromUserName中的userProfile.UserName替换为It.IsAny();

null moq

12
推荐指数
2
解决办法
6223
查看次数

标签 统计

moq ×1

null ×1