общее правило для утверждений состоит в том, что вы утверждаете против выходных взаимодействий, а не входных взаимодействий.
заглушка FindMovies возвращает коллекцию «movies» классу, который ее вызвал, и вы затем проверяете, что класс получил правильный список, через утверждение «он должен вернуть список фильмов, соответствующих директору». если метод FindMovies не вызван, то это утверждение не будет выполнено.
поэтому вам не нужно подтверждать вызовы метода FindMovies.
чтобы противостоять этому, если у вас есть макет или заглушка, которые являются чисто выходными данными - скажем, интерфейс IView, вызываемый классом Presenter, то вы хотите утверждать, что IView вызывается. например, этот код:
public class MyPresenter
{
... other code here
public DoSomething()
{
IList data = GetSomeData();
myView.DisplayData(data);
}
}
вы хотели бы утверждать, что в этом случае вызывается метод view.DisplayData, потому что вы не извлекаете ничего из этого вызова, которое может быть подтверждено другим тестом.
что касается "выборки из хранилища" - конечно, ваши клиенты заботятся об этом. они хотят, чтобы система сохраняла фильмы в хранилище и загружала их из хранилища. однако ... вызов FindMovies является входом в тестируемый класс, поэтому совсем не обязательно иметь эту сборку или тест. если метод FindMovies не вызывается, то другой тест не пройден, и вы узнаете, что есть проблема.