Я использую Каратэ с отчетами о огурцах.
Я заметил, что когда я вставляю какую-то функцию в другую функцию (с использованием функции вызова), время выполнения функции в отчете удваивается, потому что для каждого шага существует одно время выполнения, а также отображается общее время вставленной функции, и это добавляется к общему времени всего теста.
Пример:
-----Step----------------------------------------------------time(s)-----
* call read('classpath:ui/common/login.feature')..............9.402
ui/common/login.feature.......................................0.000
> * driver baseUrl............................................8.543
> Then waitFor('input[name=email]')...........................0.098
> * retry().input('input[name=email]', email).................0.293
> * retry().input('input[name=password]', password)...........0.154
> * retry().click('{span}Login')..............................0.052
Я ожидаю, что эта часть кода имеет продолжительность около 9 секунд, но в отчете она удваивается из-за вызываемой функции ( 9,402 + 8,543 + 0,098 + ...). Это не соответствует действительности.
Есть идеи, как это решить?
Спасибо.