Вам не нужно применять SubjectAttribute
, чтобы ReSharper распознавал контексты и спецификации, достаточно класса, содержащего поле It
. Однако если вы хотите, чтобы ReSharper поддерживал пользовательские соглашения об именах для типов и полей MSpec (Because
и др.), Вам необходимо применить SubjectAttribute
:
Определение пользовательских соглашений об именах в ReSharper | Варианты |
Языки / Общий раздел | Стиль именования | Расширенные настройки
При добавлении пользовательского правила именования прокрутите список вниз, чтобы увидеть объекты MSpec.
Включить аннотации MSpec в ReSharper | Варианты | Раздел проверки кода / аннотации кода
Аннотации + SubjectAttribute
(даже без пользовательских правил именования) не позволяют ReSharper помечать поля MSpec как неиспользуемые. Также можно отключить предупреждение 169 в настройках проекта.
Subject
служит метаданными, описывающими ваш контекст, например, вы можете использовать тестируемую систему (при написании модульного теста), выбранную вами строку или обе. Эта информация будет сообщена в HTML и в выводе ReSharper. Это не работает на данный момент, я подозреваю, что это ошибка в ReSharper Runner для 6.0.
Как и в случае со строками, вы можете поместить туда все, что захотите. Я бы порекомендовал использовать тему, чтобы сгруппировать ваши характеристики по функциям.
Тема: Логин
Контексты: при входе с действительными учетными данными, при входе с недействительными учетными данными и т. Д.
В моем репозитории GitHub есть пример .