В настоящее время мы запускаем сеанс OpenCover, на котором запущен nunit3.console.exe.Улучшить скорость openCover
Нашей командная строка выглядит следующим образом:
"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -output:"%CD%\opencover.xml" -register:user -target:"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" -targetargs:"Solution\our-solution-file.sln --config=Debug --result=%CD%\TestResult.xml;format=nunit2"
exit 0
Мы ожидали, что это будет медленнее, чем наше обычное модульным тестирование в связи с приборами между ними, но не так много.
Без покрытия кода в модулях тесты занимают примерно 1 час. И в настоящее время, с охватом кода, мы уже провели 3 дня и 23 часа, и мы думаем, что мы выполнили менее 10%.
Эти результаты должны быть экспортированы в SonarQube после.
Есть ли что-то, что мы можем сделать, чтобы улучшить скорость (за исключением обновления компьютера, на котором выполняется тест, который, вероятно, будет выполнен в любом случае)?
Как с менее подробными результатами, ...? В основном нас интересует охват кода, продолжительность и другие вещи для нас не очень интересны. Или даже использовать другой инструмент, чем OpenCover.
Я не знаю, если это имеет значение, но эта линия выполняется дженкинсом.
Замедление 60x откровенная смешно. Но этот ответ SO предполагает, что это свойство OpenCover: http://stackoverflow.com/a/26225013/120163 Замечание об использовании потоков и очередей довольно удивительно; это очень медленные механизмы для использования, если они являются частью ядра среды выполнения. Я бы ожидал, что хороший инструмент для тестирования поможет добавить 15-20% дополнительных накладных расходов для выполнения. , У этого инструмента есть инструменты семантического дизайна (моей компании). (См. Биографию). –