Как написать блок модульного теста в C# без использования контекста операции?

В моем проекте у меня есть метод PreAction(), который используется во всех методах. PreAction() содержит объект контекста Operation, т.е.

OperationContext currentContext = OperationContext.Current

Поэтому, когда я пытаюсь вызвать метод X в этом методе, я использую метод PreAction(). Так как контекст операции относится к сервисной модели, я получаю исключение, указывающее, что ссылка на объект не установлена ​​на экземпляр объекта.

Так как преодолеть этот сценарий? Есть ли способ использовать Mcoking и можем ли мы решить этот сценарий?

Спасибо!!!

1 ответ

Кажется, вам нужен интеграционный тест, а не модульный тест. В этом случае вы должны создать прокси вашего сервиса и проверить возвращаемый результат и, возможно, постоянный результат.

Но кроме этого вам лучше всего создать серию модульных тестов на вашем логическом уровне. Все эти классы должны быть построены так, чтобы они не зависели от предварительных действий вашей работы.

Убедитесь, что вы можете заглушки или издеваться над всеми вашими свойствами и интерфейсами.

Другие вопросы по тегам