Вам не нужно ничего издеваться. Просто установите свойство перед вызовом Show
:
[Fact]
public void Show_Valid()
{
var controller = new BankIntegrationController { Valid = true };
// Any other set up here...
var result = controller.Show();
// Assertions about the result
}
[Fact]
public void Show_Invalid()
{
var controller = new BankIntegrationController { Valid = false };
// Any other set up here...
var result = controller.Show();
// Assertions about the result
}
Mocking - действительно ценный метод, когда вы хотите указать, как зависимость будет вести себя в конкретном сценарии (и особенно, когда вы хотите проверить, как ваш код взаимодействует с ней), но в этой ситуации вы не иметь любые зависимости (которые вы нам показали). Я наблюдал, как многие разработчики без особого труда тратятся на насмешки в трех ситуациях:
- Когда нет зависимости (или другого абстрактного поведения), как в этом случае
- Когда рукописная ложная реализация приведет к более простым тестам
- Когда существующую конкретную реализацию будет проще использовать. (Например, вам редко нужно издеваться над
IList<T>
- просто введите List<T>
в ваших тестах.)