Я пытался решить эту проблему в течение некоторого времени. У меня есть простой тестовый пример PHPUnit с двумя тестами. Когда я запускаю его, я получаю этот вывод: PHPUnit 3.5.14 by Sebastian Bergmann. . Итак, первое утверждение выполняется, проходит. Второе утверждение, однако, вызывает некоторую ошибку PHP (исключение или что-то еще), а PHPUnit просто умирает без какой-либо […]
У меня phpunit 3.7 В документации к Приложению В 3.6 @assert аннотация @assert , тогда как В документации приложения 3.7 к Приложению B нет аннотации @assert В официальном объявлении упоминаются некоторые новые аннотации (и повторное введение старого, ранее не рекомендованного), но в нем не упоминается удаление @assert . В сводке для 3.7. , @assert не […]
Каждый раз, когда я запускаю единичный тест в PHPUnit, также генерируется отчет о покрытии кода. У меня на компьютере старый компьютер, и если бы я мог отключить покрытие кода, когда мне это не нужно, это снизит нагрузку на мой процессор. Есть ли способ отключить покрытие кода на основе каждого теста? Я не мог найти какой-либо […]
Помимо использования функции sleep() в моем тесте, мне интересно, знает ли кто-нибудь о лучшей стратегии, чтобы явно ждать завершения подачи формы (POST), прежде чем продолжить мои утверждения. Вот очень сжатая версия того, как выглядит мой тест, используя phpunit вместе php-webdriver от Facebook). function test_form_submission() { // setup $web_driver = new WebDriver(); $session = $web_driver->session(); $session->open('http://example.com/login'); […]
Я определил тест, который проверяет создание пользователя. Контроллер настроен на повторное перенаправление на ту же страницу при ошибке (с использованием проверки через сгенерированное App\Http\Requests\Request ). Это работает правильно при ручном нажатии в браузере, но сбой во время теста. Вместо перенаправления на: http://localhost/account/create Тест перенаправляется (отсутствует косая черта): http://localhostaccount/create Ни один из этих URL-адресов не является […]
В моем тесте PHPUnit я хотел бы утверждать, что класс, который я тестирую, расширяет другой класс. Как это сделать с помощью PHPUnit?
Мне было интересно, можно ли проверить, имеет ли «класс» функцию. assertClassHasAttribute не работает, это нормально, поскольку функция не является атрибутом.
Для запуска моих тестов с использованием PHPUnit проекта я делаю следующее: php vendor/bin/phpunit tests/SomeClassTest.php который отлично работает с учетом следующего объявления класса: class SomeClassTest extends PHPUnit_Framework_TestCase { public function test_someMethod() {} } Но он терпит неудачу, когда я это делаю: use PHPUnit\Framework\TestCase; class SomeClassTest extends TestCase { public function test_someMethod() {} } Я получаю PHP […]
public function thisMethod { $example = $this->methodReturnsObject()->this1->that2->there3->id; return $example; } Как бы вы протестировали этот метод в PHPUnit? Очевидно, я мог бы написать, что методReturnsObject () вернет что-то … но что? У этого объекта есть свойства, связанные с ним, но как бы вы даже издевались над этим значением?
У меня есть модель, которая перегружает функцию where . Мой перегруженный метод выглядит следующим образом: public function where($column, $operator = null, $value = null, $boolean = 'and') { if (in_array($column, $this->metaFields)) { $value = '%"' . $column . '":"' . $value . '"'; $column = 'meta'; $operator = 'like'; } return parent::where($column, $operator, $value, $boolean); […]