tôi có phương pháp sau đây:Sử dụng moq để thử chỉ có một số phương pháp
public CustomObect MyMethod()
{
var lUser = GetCurrentUser();
if (lUser.HaveAccess)
{
//One behavior
}
else
{
//Other behavior
}
//return CustomObject
}
Tôi muốn thử IMyInterface.GetCurrentUser
, do đó khi gọi MyMethod
tôi có thể nhận được một trong các đường dẫn mã để kiểm tra xem nó. Làm thế nào để làm điều đó với Moq?
tôi đang làm những điều sau đây:
var moq = new Mock<IMyInterface>();
moq.Setup(x => x.GetCurrentUser()).Returns(lUnauthorizedUser);
//act
var lResult = moq.Object.MyMethod();
Nhưng đối với một số lý do lResult
luôn là null
và khi tôi đang cố gắng để có được vào MyMethod
trong debug Tôi luôn bỏ qua để báo cáo kết quả tiếp theo.
Bạn đã khởi tạo 'lUnauthorizedUser' ở đâu? Tôi sẽ tưởng tượng bạn sẽ muốn một cái gì đó như 'moq.Setup (x => x.GetCurrentUser()). Returns (new User() {HaveAccess = false});' –
Tyler, chắc chắn tôi sẽ thiết lập nó trong đoạn mã trên , chỉ cần không dán nó để giữ mã ngắn. –