Инструменты для организации модульных тестов и правильного названия - PullRequest
4 голосов
/ 11 апреля 2009

Я пытался очистить соглашения об именах и организации для наших проектов и интеграционные тесты. Мы используем C #, NUnit, Visual Studio и Resharper.

Кажется, что если существует одна лучшая практика для организации модульных тестов, так это то, что макет и имена тестовых классов и пространств имен должны отражать таковые в тестируемом коде. Как следствие, файловая структура также будет реплицирована.

Не было бы неплохо иметь инструмент, который мог бы автоматически применять и помогать рефакторингу кода соответствовать этим соглашениям? Существует ли такой инструмент?

Например, для Resharper было бы просто распознать, что OrderTest является тестовым приспособлением для класса Order. Затем он может убедиться, что класс Order существует и находится в том же пространстве имен. Если класс Order подвергся рефакторингу и был переименован, класс OrderTest также следует переименовать.

Ответы [ 3 ]

3 голосов
/ 12 апреля 2009

Я тоже часто этого хотел. Я посмотрел на трекер ошибок Resharper и нашел запрос на улучшение этой проблемы. Это запланировано на Resharper 5.0. Вот его описание: http://www.jetbrains.net/jira/browse/RSRP-64050.

Что касается именования и организации модульных тестов, то стандарты меняются совсем немного, особенно в связи с появлением некоторых стилей bdd. Здесь - хороший пост с этим стилем именования. Я думаю, что для инструментов лучше всего позволить команде адаптироваться и создавать свои собственные стандарты. При коллективном владении кодом через некоторое время должен быть только один стандарт.

0 голосов
/ 14 апреля 2009

На самом деле ReSharper 4.5 имеет стили именования, которые будут предупреждать вас, если вы не будете следовать установленным соглашениям об именах. Несколько дней назад я писал об этом в блоге.

Если вы заинтересованы, перейдите по этой ссылке: http://vkreynin.wordpress.com/2009/04/09/resharper-45-complains-about-my-private-fields/.

0 голосов
/ 13 апреля 2009

У нас сейчас Test01, Test02, Test03 и т. Д. Это как руль в пиратских штанах.

Я очень предпочитаю и перехожу на этот стиль именования: Развитие на основе поведения: как можно более человечное

...