Почему бегунок консоли Visual Studio 2015 не распознает MSpecs?

Я написал несколько MSpecs, но тестировщик Visual Studio (2015) их не распознает. Я добавил Machine.Specifications.Runner.Console и все необходимое Machine.Specification-пакеты с использованием NuGet-PM. Но когда я выбираю Test->Run Testфайл, содержащий mspec, даже не указан. Ниже приведен пример 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 того самого проекта, который содержит mspecs. (опять как пример для моего случая: ..\..\..\PluginTests\bin\x86\Debug\PluginTests.dll

2 ответа

Решение

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

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

Принятому ответу уже несколько лет, и чтобы обновить его с помощью некоторой информации Visual Studio 2019 / Resharper 2019.3.4+, приведенное выше не удалось для меня, вместо этого сработал встроенный менеджер расширений Resharper.

В VS перейдите по ссылке:

Расширения -> ReSharper -> Менеджер расширений

и найдите / установите "Machine.Specifications for ReSharper"

Другие вопросы по тегам