Мониторинг юнит-теста, который выполняется в CI - PullRequest
1 голос
/ 30 ноября 2011

Я хочу отслеживать тесты xunit.net, которые выполняются в CI (если вы знаете похожие подходы для nunit, это также может помочь).

Интеграционные тесты, которые выполнялись дважды по времени, и я хотел бы получить такую ​​информацию, как хронометраж вызовов методов и использование ресурсов.

Я запустил монитор производительности Windows, но мне не ясно, где время тратится внутри теста и почему оно удваивается при выполнении.

Какой совет? Спасибо!

1 Ответ

1 голос
/ 30 ноября 2011

Для высокотехнологичного варианта, который может стоить вам нескольких долларов, загляните в инструмент профилирования.Существует действительно хороший вариант для Dotnet, называемый ANTS Performance Profiler, который может помочь вам определить, где находятся некоторые из ваших узких мест.Он также будет ссылаться на ваш код, чтобы показать вам, где именно обнаруживаются проблемы.

Самый простой бесплатный (как только тратить ваше время) подход, о котором я могу подумать, - это ввести базовый класс тестирования, ииспользуйте методы установки / разрыва для записи времени и другой информации в консоль или файл.В качестве альтернативы вы можете создать тестовый комплект для использования в каждом из ваших тестов и добавить туда логирование.Несколько более сложным подходом было бы использовать какой-либо метод делегирования для запуска этапов Assign / Act / Assert ваших тестов и применить там свою регистрацию.Лично я выполняю все тесты на C # с использованием продукта под названием StoryQ.Если бы мне нужно было что-то записать в журнал, я бы ввел несколько методов расширения, чтобы эффективно обернуть мою запись в журнал, продолжая в то же время выполнять шаги теста.

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

...