我是Moq的新手,需要知道我是否正确行事。
在AccountController.cs中我有这个:
int id = _userRepository.GetProfileFromUserName(userName).ProfileID;
UserRepository是模拟的,但是ProfileID来自DataContext,所以我在我的中做了这个 AccountControllerTests.cs:
mockUserReposository.Setup(gp => gp.GetProfileFromUserName(userName)).Returns(new Profile { ProfileID = 1 });
这样我将id变量等于1,并确保在AccountController.cs中调用时,ProfileID不使用DataContext中的那个
这是正确的方法吗?或者我是否需要模拟我从Linq到SQL的整个Profile表?
答案 0 :(得分:1)
取决于您正在测试的内容。如果您希望伪造GetProfileFromUserName以便粘贴在所需的配置文件中,它看起来很好。
您可以编辑更多的测试内容,以便人们可以提供更完整的见解 - 根据您所说的内容,唯一的答案是它取决于:D