В тестах используется @dataProvider (подставляются наборы данных)
Как определить на каком наборе завалился тест?
каждый прогон теста включает тест дату, как args
Могли бы написать пример как вывести данные из args, при падении теста?
гляньте например сюда - TestNG @DataProvider for Repeated Tests - HowToDoInJava
PASSED: testMethod("data one")
PASSED: testMethod("data two")
В TestNG уже реализован этот функционал, вам не нужно чтото добавлять
Это классно… но только у меня тесты на php, а не на java (
Вот пример моего теста:
3- и прогона, как определить, какой упал?
// TODO Способ связи
/**
* Способ связи
* @dataProvider setFeedback
*/
public function feedback(\Page\Petshop $petshop, \Codeception\Example $example, \AcceptanceTester $I) {
$artNum = $example['prod']::ART_NUMBER;
$feedback = $example['feedback'];
$city = $example['city'];
$date = $example['date'];
$up = $example['up'];
//TODO Предусловия
//1. Устанавливаем дату
$I->setDate($date);
//Устанавливаем город
$petshop->сity($city);
// 1. В корзину добавлен товар
$product = $petshop->find($artNum);
$product->addInBasket();
// 2. Открыта корзина
$basket = $petshop->openBasket();
/** @var \Page\ProductBasket $productInBasket */
$prodBasket = $basket->getProduct($artNum);
// Количество шт одного товара
$prodBasket->spinnerUp($up);
// 3. Нажата кнопка Оформить заказ
$order = $basket->regOrder();
// 4. Способ связи
$order->feedback($feedback);
$I->checkFeedback($I, $order, $example);
//TODO ПОСТУСЛОВИЯ
//Устанавливаем текущую дату
$I->resetDate();
}
/**Способ связи
* */
protected function setFeedback()
{
return [
//TODO Обычная доставка
[
'prod' => self::PROD1, 'feedback' => ORDER::FEEDBACK_CALL,
'date' => '2019-02-01 19:00:00', 'city' => 'Санкт-Петербург', 'up' => 0
],
[
'prod' => self::PROD1, 'feedback' => ORDER::FEEDBACK_SMS,
'date' => '2019-02-01 19:00:00', 'city' => 'Санкт-Петербург', 'up' => 0
],
[
'prod' => self::PROD1, 'feedback' => ORDER::FEEDBACK_CALL_DURING_TWO_HOURS,
'date' => '2019-02-01 23:30:00', 'city' => 'Санкт-Петербург', 'up' => 0
],
];
}