Я прочитал документацию по этой теме, и мой код соответствует всем требованиям реализации поставщика данных. Прежде всего, here's the full code of the test на всякий случай это актуально.PHPUnit @dataProvider просто не работает
Вот функция реализации поставщика данных:
/**
* Test the createGroup function
*
* @return void
* @author Tomas Sandven <[email protected]>
*
* @dataProvider provideFileImportTests_good
**/
public function testCreateGroup($file, $groupname, $group, $mapping)
{
// Create a test group
$id = $this->odm->createGroup($groupname, $group);
// Try to load it back out
$result = R::load(OmniDataManager::TABLE_GROUP, $id);
// Check that the result is not null
$this->assertFalse(is_null($result));
return $id;
}
PHPUnit просто терпит неудачу:
Отсутствует аргумент 1 для испытаний \ Broadnet \ broadmap \ OmniDataManagerTest :: testCreateGroup()
Я попытался убить приложение (die();
) внутри функции поставщика данных, и это никогда не произойдет. Функция поставщика данных доступна публично в одном классе, в имени функции нет опечаток, а функция testCreateGroup
ссылается на нее в комментариях комментария, но функция поставщика данных никогда не вызывается.
Пожалуйста, объясните, почему
Благодарности
Вы также назвали parent :: __ constructor()? Как правило, вы не определяете конструктор для тестового окна, но используете функцию setUp(). –
Мне понадобился код, который нужно выполнить один раз перед началом любого из тестов. Нет, я не называл 'parent :: __ constructor()' ... Я заменил конструктор 'function setUpBeforeClass' в любом случае. Это проблематично, что он должен быть статичным, но, к счастью, мне не нужно было размещать что-либо в нем – Hubro
У вас может быть пользовательский конструктор, но вы должны позаботиться о том, чтобы принять те же параметры и передать их родительскому конструктору. –