我需要一个测试方法的帮助我试着写...
我需要测试用户是否可以显示他的个人资料,但是当我尝试使用我的模拟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();