Первый раз Moqer, Verify () синтаксис? - PullRequest
1 голос
/ 10 августа 2011

Я набрал некоторый код отсюда: http://web.archive.org/web/20090407010431/http://code.jesschadwick.com/Snippets/TestDatabase.cs.

Мне кажется, это идеальный сценарий для настройки тестов по фактическому дб.

Я новичок вмодульные тесты, макетирование и т. д., и до сих пор мне не хватает понимания, почему не получается тест Initialize_executes_schema_if_provided.

Я пробовал несколько вариантов кода, переключая Expect() на Setup()Verify() как до, так и после попытки инициализации, но без радости.

Метод ExecuteQuery является виртуальным, поэтому он должен работать, насколько я вижу, - я не могу понять, почему он не можетубедитесь, что он вызывается.

Любые указатели были бы очень полезны.

Спасибо всем.

1 Ответ

1 голос
/ 13 августа 2011

Поскольку метод Initialize является виртуальным, Moq заменяет его собственной реализацией метода (которая в этом случае ничего не делает).Когда вызывается db.Initialize (), вызывается реализация Moq, а не тестируемый класс, что означает, что вызов ExecuteQuery никогда не происходит, и поэтому тест не проходит.

...