2013-12-16 2 views
6

У меня есть некоторые методы пустоты, и мне нужно их протестировать, но я не уверен, как это сделать. Я просто знаю, как тестировать методы, которые возвращают что-то, используя Assert. Кто-то знает, как это сделать? Вы, ребята, знаете некоторые ссылки с упражнениями в этом стиле?Как я могу проверить методы void?

+0

Если методы не делают ничего, что вы можете наблюдать извне, какую полезную работу они делают? –

ответ

10

Вы можете проверить две вещи:

  • изменяет состояние после ничтожного вызова метода (состояние на основе тестирования)
  • Взаимодействия с зависимостями во время ничтожного вызова метода (тестирование взаимодействия)

Первого подход (образец NUnit):

var sut = new Sut(); 
sut.Excercise(foo); 
Assert.That(sut.State, Is.EqualTo(expectedState)); // verify sut state 

Требуется второй подход s mocks (Moq образец):

var dependencyMock = new Mock<IDependency>(); 
dependencyMock.Setup(d => d.Something(bar)); // setup interaction 
var sut = new Sut(dependencyMock.Object); 
sut.Excercise(foo); 
dependencyMock.VerifyAll(); // verify sut interacted with dependency 

Ну, вы также можете проверить, если соответствующие исключения выбрасываются.

Смежные вопросы