SpecFlow — исключение нулевой ссылки


Недавно я играл со SpecFlow, но не смог заставить его работать должным образом. Я предпринял следующие шаги:
1. Загрузил и установил SpecFlow
2. Загрузил и запустил решение для гостевой книги (VS2010)
3. Запустил тест NavigationToHomepage из этого проекта, используя Visual NUnit под отладчиком.
4. Получил Исключение нулевой ссылки в строке Scenario: Navigation to homepage.
StackTrace:
в Guestbook.Spec.Features.BrowsingFeature.ScenarioSetup(ScenarioInfo scriptInfo) в F:\VS Projects\SteveSanderson-GuestbookDemo-bf2bdab\SteveSanderson-GuestbookDemo-bf2bdab\Guestbook. Spec\Features\Browsing.feature.cs:строка 0 в Guestbook.Spec.Features.BrowsingFeature.NavigationToHomepage() в f:\VS Projects\SteveSanderson-GuestbookDemo-bf2bdab\SteveSanderson-GuestbookDemo-bf2bdab\Guestbook.Spec\Features\Browsing .feature:line 6
Что может быть не так?
ОБНОВЛЕНО
Я попытался выполнить те же действия на другом компьютере, и там все работало нормально. Я совершенно сбит с толку.


person StuffHappens    schedule 20.04.2011    source источник
comment
Приложение "Гостевая книга" работало без твиков?   -  person Paul    schedule 20.04.2011


Ответы (1)


Я думаю, что лучше всего создать свой собственный:

Создайте новое решение с классовым проектом. Добавьте ссылку на dll TechTalk.SpecFlow. Создайте новый файл характеристик SpecFlow. Это даст вам базовую спецификацию калькулятора. Скомпилируйте приложение и запустите его в средстве запуска тестов Nunit. Вам будет предоставлено множество ошибок «нет соответствующего шага..». Создайте новый файл определения шага SpecFlow. Скопируйте методы, которые дал вам тестовый бегун Nunit, в файл определения. Перекомпилируйте и запустите его в Nunit. Тогда вам просто нужно реализовать кишки каждого метода.

Я люблю SpecFlow за то, что он помогает мне писать более умный и управляемый код.

person Paul    schedule 20.04.2011
comment
Комментарий 24 к сообщению Стива Сандерсона (blog.stevensanderson.com/2010/03/03/ ) о specflow говорит, что в Global.asax есть опечатка. - person Paul; 20.04.2011
comment
Спасибо за ответ. Я выполнил шаги, которые вы опубликовали выше (создание собственного нового приложения), но в итоге получил тот же NullReferenceException. Даже когда я исправил Global.asax, результат остался прежним. Похоже проблема глубже. - person StuffHappens; 20.04.2011