ReSharper не видит мои машины. Спецификационные тесты
У меня проблема с тем, чтобы ReSharper увидел "тесты" Machine.Specification, которые я написал.
Спецификации запускаются в ConsoleRunner из mSpec. Когда я пытаюсь "запустить модульные тесты" в ReSharper, я получаю сообщение: "В файле не найдено ни одного теста". Спецификации не показывают тестовые маркеры.
Я создал папку в папке ReSharper /bin/ и поместил туда нужные DLL-файлы. Подключаемый модуль mSpec появится в ReSharper.
Чего мне не хватает?
Кроме того, я использую xUnit.NET, если это имеет значение.
3 ответа
Средство запуска ReSharper не учитывает вложенные классы контекста. Вместо того чтобы вложить классы контекста:
namespace SomeNamespace
{
public class Specs
{
public class when_something_happens
{
Because of = () => {};
It should_do_something = () => {};
}
}
}
Авторские контексты, которые не являются вложенными, т.е. корневые классы внутри пространства имен:
namespace SomeNamespace
{
public class when_something_happens
{
Because of = () => {};
It should_do_something = () => {};
}
}
Зелено-желтые значки теста ReSharper появляются, если выполнены все условия:
- класс публичный
- класс не абстрактный
- класс не является вложенным
- имеет>= 1 поле спецификации (
It
) или имеет>= 1 поле поведения (Behaves_like<>
)
Была также та же проблема с "Не найдено тестов в файле" при попытке использовать ReSharper и XUnit.net вместе. Однако я мог видеть свои тесты в окне Test Explorer и смог запустить их оттуда.
Для хорошей интеграции MSpec с Visual Studio и ReSharper установите MSpec, используя установщик, который доступен здесь: http://marcinobel.com/index.php/mspec-bdd-installer/