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/

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