Vấn đề của tôi là tôi muốn tạo một thuộc tính trong lớp trừu tượng của mình, vì lớp của tôi trong bài kiểm tra sử dụng thuộc tính đó. Tôi hiện đang sử dụng phiên bản mới nhất của Moq.Kiểm thử đơn vị một lớp kế thừa từ lớp trừu tượng
lớp trừu tượng của tôi trông như thế này:
public abstract class BaseService
{
protected IDrawingSystemUow Uow { get; set; }
}
Và lớp học của tôi trong thử nghiệm trông như thế này:
public class UserService : BaseService, IUserService
{
public bool UserExists(Model model)
{
var user = this.Uow.Users.Find(model.Id);
if(user == null) { return false; }
reurn true;
}
}
Tôi không thể hiểu làm thế nào tôi có thể còn sơ khai các Uow
tài sản. Có ai có bất kỳ đầu mối? Hay thiết kế của tôi tệ đến nỗi tôi cần phải chuyển sang tài sản Uow
cho lớp học của mình trong bài kiểm tra?
Cảm ơn bạn rất nhiều điều đó đã thực sự hữu ích! Đó là một lỗi nhỏ trong đoạn mã của bạn. Trả về (drawingSystemStub) nên được thay thế bằng Returns (drawingSystemStub.Object). =) – Rikard
@Rikard: cảm ơn, đã sửa. –
FYI @jimmy_keen - Liên kết cho "Không thể ghi đè, không thể giả mạo" bị hỏng – lukejkw