Я тестирую простой поток с помощью Codeception с Selenium / FacebookWebdriver, где всплывающее окно закрывается в конце, что приводит к разрыву всего теста. Код завершен (тест будет запущен) и воспроизведет ошибку. Я действительно отчаянный здесь, любые предложения будут очень высоко оценены. Это ошибки, которые я получаю: Сообщение об ошибке кода: [Facebook\WebDriver\Exception\NoSuchWindowException] Window not found. The […]
Я хочу проверить метод public function get($key) { if (!($time = $this->driver->get($key))) { if ($key == self::LAST_UPDATE_KEY) { $time = new \DateTime(); $this->driver->set($key, $time); } else { $time = $this->get(self::LAST_UPDATE_KEY); // need test this condition } } return $time; } Первые данные запроса от драйвера должны возвращать значение null, а второе значение мне необходимо. Я […]
У меня есть локальная область разработки, в которой я код, прежде чем переносить свои программы на тестовый сервер. Это базовая настройка xampp. Тем не менее, это ограничивает мою способность тестировать в локальном поле, когда мне приходится отправлять почту в мою программу. Есть ли способ издеваться над этим? У меня нет желания настраивать почтовый сервер на […]
Я отчасти новичок в тесте PHPUnit, поэтому оцените вашу помощь, чтобы увидеть, следую ли я правильному подходу или нет. Я пытаюсь проверить свои методы; У меня есть два вопроса 1) Как я могу получить свою тестовую базу данных с фиктивными данными? прямо сейчас у меня есть все настройки моей базы данных в классе pdo_connect, а […]
Поэтому я играю с PHPUnit и хотел бы получить представление о выходе, который генерирует PHPUnit, когда я пытаюсь проверить Exception. Я смущен, почему я получаю неудачный тест. Вот мой тест: class ConfigTest extends PHPUnit_Framework_Testcase { public function testTrueIfJobGivenExists() { $conf = Config::getInstance('test1.php', new Database()); $setup = $conf->getConfig(); $this->assertTrue($setup); } /** * @expectedException Exception */ public […]
Можно ли сообщить phpunit, куда поставить сгенерированный тестовый скелетный файл командой -skeleton-test? Даже возможно ли сообщить phpunit о повторной структуре каталогов? Допустим, у меня есть файл для тестирования в lib/model/SomeClass.php и я хочу, чтобы phpstorm сгенерировал модульный тестовый класс и поместил его в test/lib/model/SomeClassTest.php без создания всей необходимой структуры каталогов. Заранее спасибо!
Я использую PHPUnit для проверки функции, которая загружает файл. Я хочу проверить, загружен ли правильный файл, и поэтому я решил проверить выход функции. Я пытаюсь использовать буферизацию вывода: ob_start(); $viewer->downloadById($fileId); $output = ob_get_flush(); $this->assertEquals($expectedFileContents,$output); Тест проходит / терпит неудачу, если это необходимо, что хорошо. Моя проблема заключается в том, что содержимое выходного буфера также выводится […]
Я разрабатываю PHP-приложение, которое требует получения произвольных писем с сервера электронной почты. Затем сообщение полностью анализируется и сохраняется в базе данных. Конечно, я должен сделать много тестов, так как эта задача не является тривиальной со всеми различными форматами почты под солнцем. Поэтому я начал «собирать» электронные письма от определенных клиентов и с другим содержимым. Я […]
У меня это в файле phpunit.xml: <phpunit …> <testsuites> <testsuite name="MyTests"> <directory>../path/to/some/tests</directory> </testsuite> </testsuites> … // more settings for <filter> and <logging> </phpunit> И когда я иду запустить его, я получаю эту ошибку: PHP fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Neither "MyTests.php" nor "MyTests.php" could be opened.' Почему PHPUnit дает мне эту ошибку и […]
Методы setUp() и tearDown() вызывают до и после каждого теста. Но действительно, есть ли какой-нибудь реальный пример о том, зачем мне это нужно? Проверяя тесты других людей, я всегда вижу что-то вроде: public function setUp() { $this->testsub = new TestSubject(); } public function tearDown() { unset($this->testsub); } public function testSomething() { $this->assertSame('foo', $this->testsub->getFoo()); } с […]