Bạn nên tạo dịch vụ bao bọc được gọi là IFileService, sau đó bạn có thể tạo bê tông sử dụng thống kê để sử dụng trong ứng dụng của mình và IFileService giả sẽ có chức năng giả để thử nghiệm. Làm cho nó vì vậy bạn phải vượt qua IFileService vào constructor hoặc một tài sản cho những gì bao giờ lớp đang sử dụng nó, theo cách này hoạt động bình thường yêu cầu bạn vượt qua trong IFileService. Hãy nhớ rằng trong bài kiểm tra đơn vị bạn đang kiểm tra chỉ một phần của mã không phải là thứ mà nó gọi là IFileService.
interface IFileService
{
bool Exists(string fileName);
void Delete(string fileName);
}
class FileService : IFileService
{
public bool Exists(string fileName)
{
return File.Exists(fileName);
}
public void Delete(string fileName)
{
File.Delete(fileName);
}
}
class MyRealCode
{
private IFileService _fileService;
public MyRealCode(IFileService fileService)
{
_fileService = fileService;
}
void DoStuff()
{
_fileService.Exists("myfile.txt");
}
}
Rất nhiều ví dụ trên trang web này, sử dụng nút tìm kiếm – ChrisBint
có thể trùng lặp với [Mocking static methods using Rhino.Mocks] (http: // stackoverflow.com/questions/540239/mocking-static-phương pháp-sử dụng-tê giác-mocks) – sarnold
Đôi khi mọi người không biết những gì để tìm kiếm, có lẽ bạn có thể đưa ra một số ví dụ chứ không phải là hoàn toàn vô dụng. Chỉ là một ý nghĩ. – CrazyDart