2016-01-28 3 views
0

Мой вопрос в целом заключается в следующем: при параллельном запуске автоматических тестов, как я могу узнать, какие из них были запущены одновременно?Как узнать, какие тесты проводились параллельно?

Моя проблема такова: Я параллельно тестирую тесты (4 теста за раз), но я не знаю, какие из них выполняются вместе (в то же время) и которые ждут.

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

технологии я использую: NUnit 3.0, C#, Селен WebDriver, Дженкинс

Я рад услышать любое возможное решение (не имеет значения, если это трудно применить)

+0

Вы можете отслеживать время начала и окончания каждого теста и сравнивать их, чтобы найти параллельные исполняемые случаи. –

ответ

0

Для целей отладки , вы можете запустить консоль NUnit с опцией --trace=Verbose.

Это будет писать лог в каталоге вы выполняете в, который будет выглядеть немного как это:

14:56:13.972 Info [13] TestWorker: Worker#4 executing TestsSuite1 
14:56:13.973 Debug [13] WorkItemDispatcher: Directly executing TestA 
14:56:13.976 Debug [12] WorkItemDispatcher: Directly executing TestB 
14:56:13.976 Debug [16] WorkItemDispatcher: Directly executing TestC 
14:56:13.980 Debug [12] WorkItemDispatcher: Directly executing TestD 
14:56:13.982 Debug [16] WorkItemDispatcher: Directly executing TestE(False,False,False,0) 
14:56:13.989 Debug [16] WorkItemDispatcher: Directly executing TestE(False,False,True,0) 

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

Конечно, это никогда не так просто, как просто посмотреть, какие тесты выполняются одновременно, но это может помочь уменьшить проблемы.

+1

Использование --trace = Info даст вам меньше информации и будет легче интерпретировать. В настоящее время NUnit не запускает тестовые методы в одном и том же приборе параллельно, поэтому вам нужно только посмотреть на строки, подобные приведенной выше. – Charlie

0

Самый простой способ - выборочно отключить параллелизм, пока не найдете комбинацию, которая вызывает проблему.

  1. Отключить все параллелизм, работая с --workers = 0. Если те же тесты терпят неудачу, то у вас нет проблемы с параллелизмом.

  2. Выборочно повторите неудавшиеся тесты вместе с помощью опции --test или --where, чтобы выбрать их. Отредактируйте приборы, чтобы включить/отключить параллелизм, пока не нажмете комбинацию, которая выполняет задание.

Смежные вопросы