Почему бегунок консоли 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"