Đây là câu hỏi đầu tiên của tôi vì vậy hãy tử tế! :)Làm thế nào để sử dụng Moq để kiểm tra một phương pháp không có giá trị trả về?
Điều tôi đang cố gắng thực hiện là viết một số thử nghiệm cho một lớp người quản lý trong khi xây dựng thêm nhiều phiên bản mới của một hạng mục đơn lẻ vào danh sách. Khi UpdateAllItems được gọi trong lớp người quản lý này, ý định là lặp lại danh sách và gọi gia tăng trên mỗi mục đơn lẻ.
Lớp người quản lý là mã của tôi, nhưng lớp hạng mục duy nhất không phải là vì vậy tôi không thể sửa đổi nó.
Tôi sử dụng NUnit cho khung kiểm tra và bắt đầu làm việc với Moq. Bởi vì lớp người quản lý sử dụng hạng mục đơn lẻ nên tôi nghĩ rằng tôi cần phải sử dụng một Moq vì vậy tôi chỉ đang thử nghiệm người quản lý chứ không phải là một mục duy nhất.
Làm cách nào để viết các bài kiểm tra cho phương pháp UpdateAllItems của tôi? (Về mặt kỹ thuật tôi nên viết các bài kiểm tra đầu tiên mà tôi biết).
Dưới đây là một mã số mẫu mà đưa ra một ý tưởng chung của những gì tôi đang làm việc với ...
public class SingleItem_CodeCantBeModified
{
public int CurrentValue { get; private set; }
public SingleItem_CodeCantBeModified(int startValue)
{
CurrentValue = startValue;
}
public void Increment()
{
CurrentValue++;
}
}
public class SingleItemManager
{
List<SingleItem_CodeCantBeModified> items = new List<SingleItem_CodeCantBeModified>();
public SingleItemManager()
{
items.Add(new SingleItem_CodeCantBeModified(100));
items.Add(new SingleItem_CodeCantBeModified(200));
}
public void UpdateAllItems()
{
items.ForEach(item => item.Increment());
}
}
Cảm ơn trước cho tất cả sự giúp đỡ!
Lớp học này hữu ích như thế nào? Nó tạo ra một danh sách riêng của các quầy và cập nhật mỗi mục mỗi khi một phương thức được gọi. Phải có một số thay đổi trong hành vi của đối tượng .. ví dụ: nếu UpdateAllItems không hoạt động - điều gì sẽ thay đổi được quan sát? – Gishu