Tôi có giao diện sau:FakeItEasy - Có thể chặn một phương pháp và thay thế bằng cách thực hiện của riêng tôi không?
public interface IOuputDestination
{
void Write(String s);
}
Trong thử nghiệm đơn vị của tôi, tôi thử nó như vậy:
var outputDestination = A.Fake<IOutputDestination>();
Những gì tôi muốn làm, là đánh chặn các phương thức Write để nó sử dụng tùy chỉnh của tôi thực hiện mà tôi xác định trong thử nghiệm của mình. Một cái gì đó như thế này:
String output = "";
A.CallTo(() => outputDestination.Write(A<String>.Ignored)).Action(s => output += s);
//Is something like this even possible ? ----^
Đây là phương pháp Action
không tồn tại, nhưng những gì tôi muốn xảy ra là bất kỳ tham số được truyền vào outputDestination.Write
được chuyển hướng đến hành động tùy chỉnh của tôi. Điều này có thể sử dụng FakeItEasy không? Nếu không, có một khuôn khổ nhạo báng khác cho phép loại hành vi này không?