Я написал несколько 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
Неправильный бегун. Только [RTFM] (https: //github.com/machine/machine.specifications), он показывает, как использовать mspec.exe для запуска тестов. Отсутствие достойной интеграции VS - это ваш крест нести. –
Я прочитал руководство f *** ing, хотя я надеялся, что VS будет каким-то образом интегрировать mspecs. Нет необходимости в агрессии;) – krouch