worksolutions / bitrix-module-bunit

BUnit - фреймворк модульного тестрования для CMS Bitrix
20 stars 8 forks source link

Ответить на вопрос по дата-провайдеру #7

Open greatt169 opened 6 years ago

greatt169 commented 6 years ago

https://github.com/worksolutions/bitrix-module-bunit/blob/master/doc/writing.md#Выполнение-тестирования-с-множественным-набором-поставщик-данных

В этом примере неясен момент: Почему то, тест не пройден, только если для всех элементов listOfData условие не выполняется. Можно ли сделать так, чтобы тест не выполнялся, если хотя бы для 1 набора тест не пройден?

sokolovsky commented 6 years ago

Этот момент вы получили при помощи запуска тестов или так поняли по документации?

greatt169 commented 6 years ago

При запуске теста из документации

/**
 * Data provider for testMoreThan25
 */
public function listOfData() {
    return array(
        // первый элемент - результат, остальные аргументы
        array(false, 10),
        array(false, 20),
        array(true, 30),
    );
}

/**
 * Tests whether data more than 25
 * @test
 * @dataProvider listOfData
 */
public function testMoreThan25($expected, $number) {
    $actual = $number > 25;
    $this->getAssert()->equal($actual, $expected);
}

Такой набор также выдает, что тест пройден:

array(true, 10),
        array(false, 20),
        array(true, 30),
greatt169 commented 6 years ago

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