2009-11-18 56 views
2

我是Moq的新手,需要知道我是否正确执行此操作。Moq和DataContext

在AccountController.cs我有这样的:

 int id = _userRepository.GetProfileFromUserName(userName).ProfileID; 

UserRepository被嘲笑,但简档来自DataContext的,所以我在 AccountControllerTests.cs这样做:

 mockUserReposository.Setup(gp => gp.GetProfileFromUserName(userName)).Returns(new Profile { ProfileID = 1 }); 

这样我获取id变量等于1,并确保ProfileID在AccountController.cs中调用时不使用DataContext中的一个。

这是正确的做法吗?或者我不知何故需要从Linq到SQL模拟整个Profile表?

回答

1

取决于您正在测试的内容。如果您希望伪造GetProfileFromUserName以用于粘贴所需的配置文件,它看起来很好。

您是否可以在更多测试中进行编辑,以便人们可以提供更全面的见解 - 给出的唯一答案是您说的多少取决于:D