Ошибка Specflow с использованием TestDriven.Net - Не удалось найти тип - PullRequest
3 голосов
/ 09 сентября 2010

Я впервые опробую Specflow и создал проект VS2010 со ссылкой на TechTalk.SpecFlow, а также на nunit.framework. Я добавил образец файла Feature:

Feature: Addition
    In order to avoid silly mistakes
    As a math idiot
    I want to be told the sum of two numbers

@mytag
Scenario: Add two numbers
    Given I have entered 50 into the calculator
    And I have entered 70 into the calculator
    When I press add
    Then the result should be 120 on the screen

Когда я выполняю тест (используя TestDriven.Net), я получаю следующую ошибку:

Test 'T:SpecFlowFeature1' failed: Couldn't find type with name 'SpecFlowFeature1'
System.Exception: Couldn't find type with name 'SpecFlowFeature1'
at MutantDesign.Xml.Documentation.MemberInfoUtilities.FindMemberInfo(Assembly assembly, String cref)
at TestDriven.TestRunner.AdaptorTestRunner.Run(ITestListener testListener, ITraceListener traceListener, String assemblyPath, String testPath)
at TestDriven.TestRunner.ThreadTestRunner.Runner.Run()

Кто-нибудь знает, что мне не хватает?

Ответы [ 2 ]

5 голосов
/ 09 сентября 2010

На самом деле это связано с тем, как я проводил тест.Если щелкнуть правой кнопкой мыши файл « .feature» (или в любом месте этого файла) и выбрать «Выполнить тесты», это приведет к ошибке.Щелкните правой кнопкой мыши основной файл « .feature.cs» и выберите «Выполнить тесты», выполненные правильно.Похоже, TestDriven.Net не смог «понять» файл «* .feature».

0 голосов
/ 09 сентября 2010

Обычно я запускаю ошибки «Не удалось найти тип ...» в моей папке ссылок и проверяю, что на библиотеку, на которую я ссылаюсь, ссылаются правильно и что версия, на которую ссылаются, не устарела. *

Также убедитесь, что ваш класс SpecFlowFeature1 по ошибке не объявлен как закрытый. Visual Studio создает новые классы (по умолчанию) как частные, и если вы не укажете класс как открытый, он останется закрытым и не будет "видимым" для внешних проектов.

...