В PHPUnit можно делать дата драйвен тесты с помощью функции исполняющей роль провайдера данных.
В этой функции мне нужно на лету сформировать данные для из одной страницы и бомбить ими вторую страницу. Нужно считать на одной старнице массив данных броузером, а на другой странице броузером по этим данным устроить проверки. Я пробовал в функции провайдер вызвывать метод open - но естественно сессия для брозуера создана не была и поэтому фэйл. Решил сделать как отдельный тест в начале.
До этого у меня именно так и работало, в одном тесте считывал данные и проверял по ним. Но я решил немного рефакторнуть, и сформировать массив отдельно и сделать вот как здесь,
чтобы у меня provider сформировал именно так, и сделал это автоматически:
return array( array(0, 0, 0), array(0, 1, 1), array(1, 0, 1), array(1, 1, 3) );
Данные на второй странице зависят от данных на первой странице, причём на первой странице они генерирутся условно случайно, и результат работы второй страницы зависит от данных на первой.
не помогло почему-то. Возможно ошибка в чём-то дургом, а возомжно phpunit пересоздаёт класс Example extends PHPUnit_Extensions_SeleniumTestCase перед каждым тестом, с него станется.Попробуйде этот массив сделать статическим и public
папка temp, serialize, fopen, fwrite,.... думаю буду делать так.