2015-08-26 20 views
4

Я написал несколько MSpec, но тестовый бегун Visual Studio (2015) не распознает их. Я добавил Machine.Specifications.Runner.Console и все необходимые Machine.Specification -пакеты с использованием NuGet-PM. Но когда я выбираю Test->Run Test, файл, содержащий mspec, даже не указан. Beyond - пример mspecs, который я написал до сих пор, который находится в собственном проекте/решении, которое содержит некоторый другой (регулярный блок) тест, который все работает нормально.Почему консоль Visual Studio 2015 не распознает MSpecs?

[Subject(typeOf(ControllerForm)] 
public class When_file_with_multiple_procedures_is_opened:ControllerFormSpecs 
{ 
    static ControllerForm subject; 
    ... 
    Establish context =()=> 
    { 
     subject = new ControllerForm(...); 
     path="someRandomPath"; 
    }; 

    Because of =()=> 
    { 
     subject.OpenFile(path); 
    } 

    It should_have_event =()=> subject.eventExist.ShouldBeTrue(); 

    It should_not_have_data =()=> subject.currentNode.ShouldBeNull(); 

    Cleanup after =()=> 
    { 
     subject = null; 
    }; 
} 

Что мне не хватает?

Примечание: Использование ReSharper здесь не является вариантом. Я знаю многих людей и даже рекомендую это, но моя компания уже отказалась от моей просьбы об этом.

редактировать: Использование «Machine.Specifications.Console.Runner» вы должны держать в виду следующее:

1) Изменение рабочего каталога консоли к самой, где все mespc.exe файлы сохраняются (в моем случае: c:\projects\...\Source\packages\Machine.Specifications.Runner.Console.versionnumber\tools)

2) Выберите правильный .exe-файл, в зависимости от ваших отладочных-опций (в моем случае: mspec-x86.exe)

3) в качестве параметра вы теперь должны вставить относительное путь к DLL самого проекта, который содержит mspec. (Опять же, как, например, для моего случая:.. ..\..\..\PluginTests\bin\x86\Debug\PluginTests.dll

+0

Неправильный бегун. Только [RTFM] (https: //github.com/machine/machine.specifications), он показывает, как использовать mspec.exe для запуска тестов. Отсутствие достойной интеграции VS - это ваш крест нести. –

+0

Я прочитал руководство f *** ing, хотя я надеялся, что VS будет каким-то образом интегрировать mspecs. Нет необходимости в агрессии;) – krouch

ответ

1

Консоль бегун для запуска функции из командной строки вам потребуется Visual Studio MSTest бегунок установлен

1

В случае, если другие будут struggeling с этим, а также, используя https://visualstudiogallery.msdn.microsoft.com/4abcb54b-53b5-4c44-877f-0397556c5c44 Visual Studio смог распознать mspecs. Однако результаты не отображаются. Поэтому, если вы не можете/не будете позволить себе ReSharper, я настоятельно рекомендую использовать обычный консольный бегун

+0

И теперь [Machine.VSTestAdapter] (https://visualstudiogallery.msdn.microsoft.com/f8d80e41-0a85-4b04-aa41-0bc59dc81a5a) - это новый обновленный бегун. –