PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Макс345
Отправлено: 11 Июня, 2019 - 16:08:22
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2019  


Помог: 0 раз(а)




Здравствуйте.
Для тестов использую codeception + PHP

Есть тест с датапровайдером. Как определить какой из тестов упал?


/**
* Самовывоз, поиск магазина
* @dataProvider setPickupFindAddress
*/
public function pickupFindAddress(\Page\Petshop $petshop, \Codeception\Example $example, \AcceptanceTester $I) {
$artNum = $example['prod']::ART_NUMBER;

$delivery['delivery'] = $example['delivery'];
$delivery['check'] = $example['check'];
$delivery['address'] = $example['address'];

// 1. В корзину добавлен товар
$product = $petshop->find($artNum);
$product->addInBasket();

// 2. Открыта корзина
$basket = $petshop->openBasket();

// 3. Нажата кнопка Оформить заказ
$order = $basket->regOrder();

// 4. Доставка - самовывоз
$order->delivery($delivery);

//ПРОВЕРКА ДОСТАВКИ
$I->checkDelivery($I, $order, $example);
}

/**Самовывоз, поиск магазина
* */
protected function setPickupFindAddress()
{
return [
[
'prod' => self::PROD1, 'delivery' => ORDER:Голливудская улыбкаELIVERY_PICKUP, 'check' => 'find', 'address' => 'Савушкина',
],
[
'prod' => self::PROD2, 'delivery' => ORDER:Голливудская улыбкаELIVERY_PICKUP, 'check' => 'find', 'address' => 'Савушкина',
]
];
}
 
 Top
LIME
Отправлено: 11 Июня, 2019 - 19:09:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 10263
Дата рег-ции: Нояб. 2010  


Помог: 306 раз(а)




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


-----
DDD
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB