Tôi có một bài kiểm tra đơn vị (nUnit). Nhiều lớp bên dưới ngăn xếp cuộc gọi, một phương thức sẽ không thành công nếu nó đang chạy qua một bài kiểm tra đơn vị.
Lý tưởng nhất là bạn sẽ sử dụng một cái gì đó như mocking để thiết lập đối tượng mà phương pháp này phụ thuộc vào nhưng đây là mã của bên thứ 3 và tôi không thể làm điều đó nếu không có nhiều công việc.
Tôi không muốn thiết lập các phương thức cụ thể của nUnit - có quá nhiều cấp độ ở đây và cách thực hiện kiểm tra đơn vị kém.
Thay vào đó, những gì tôi muốn làm là thêm một cái gì đó như thế này vào sâu trong ngăn xếp cuộc gọi
#IF DEBUG // Unit tests only included in debug build
if (IsRunningInUnitTest)
{
// Do some setup to avoid error
}
#endif
Vì vậy, bất kỳ ý tưởng về cách viết IsRunningInUnitTest?
Tái bút Tôi hoàn toàn biết rằng đây không phải là thiết kế tuyệt vời, nhưng tôi nghĩ nó tốt hơn các lựa chọn thay thế.