2009-11-18 58 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