我是Pex和痣的新手。我想在我的代碼上運行Pex,但是我使用了構造函數注入。有沒有辦法指導Pex如何注入構造函數?Pex&痣 - 依賴注射
編輯
public UserLogic(IUserRepository userRepository)
{
_userRepository = userRepository;
}
public int GetUsersAge(int id)
{
User user = _userRepository.GetById(id);
DateTime DOB = user.DOB;
DateTime now = DateTime.Today;
int age = now.Year - DOB.Year;
if (DOB > now.AddYears(-age)) age--;
return age;
}
我需要注入存根userRepository。當調用_userRepository.GetById(id)時,Pex失敗並返回一個NullReferenceException。我一直在使用Moq進行單元測試,但是我想切換到pex和痣
我應該使用PexFactory創建我的存根嗎?
顯示一些代碼,你可以用痣更換任何代碼。 – Peter
這不完全正確,有一些情況下你將無法使用痣(例如http://social.msdn.microsoft.com/Forums/en-US/pex/thread/c262d8f1-246e-4157 -a7b4-f7ddeaf1890c /) – Gorgsenegger
還有一件事,我認爲如果你有機會從頭開始設計你的應用程序,那麼只要你正確地接口等,你通常應該對MOQ適用。 痣可以幫助遺留的代碼,你可能無法/不允許/ ...改變了。 – Gorgsenegger