Intereting Posts
Можно ли использовать функции store_result () и bind_result () с PHP PDO? Пример проекта Zend Framework 2 Условно заданные цены на товары для определенных продуктов в WooCommerce 3 Выбор списка игнорирует первое значение при использовании функции onchange, PHP, JAVASCRIPT Как подключить пользователя к файлу cookie для входа в PHP? WooCommerce – включение класса налога с нулевым курсом для определенных пользовательских ролей Отслеживание исходящих ссылок с помощью Javascript и PHP PHP: проверьте, пустые ли какие-либо опубликованные vars – форма: все поля обязательны для заполнения Php – взорвать строку с двумя разделителями Laravel 5.2: интегрируйте пакет доверенности, создайте роль и разрешения и получите доступ к нему. Доступ к внешней переменной с использованием анонимной функции в качестве параметров OAuth: сохранение токена доступа и секретности PHP Curl публикует файл без заголовка jQuery – Только изменение для элемента с щелчком, не все с тем же классом Проблема с изображением базы данных php

phpunit testing expectedException не работает

Я пытаюсь проверить свой класс на InvalidArgumentException, но я получаю

Тесты \ BarTest :: should_receive_parameter Отсутствует аргумент 1 для Itdc \ Foo \ Bar :: __ construct (), вызывается в /mypath/foo/tests/BarTest.php в строке 10 и определяется

Это файл теста (BarTest.php), который я использую:

<?php namespace Tests; use Itdc\Foo\Bar; class BarTest extends \PHPUnit_Framework_TestCase { /** @test */ public function should_receive_parameter() { $this->setExpectedException('Exception'); $id = new Bar; } } 

Это класс Бар:

 <?php namespace Itdc\Foo; class Bar { public function __construct($a) { // do something } } 

Я попытался puth setExpectedException в разделе комментариев, также пытался использовать InvalidArgumentException, но не повезло.

Любые предложения о том, что я делаю неправильно, будут оценены.

Если вы поймаете его напрямую, вы можете var_dump () исключение.

 /** @test */ public function shouldThrowException() { try { new Foo(); } catch (\Exception $e) { var_dump($e); } } 

Вывод:

 class PHPUnit_Framework_Error_Warning#19 (9) { ... 

Таким образом, источник не вызывает исключение, кроме ошибки, PHPUnit преобразует ошибку в конкретное исключение. Но это не включает в утверждения.

Попробуйте использовать конкретное имя исключения:

 /** @test */ public function shouldThrowException() { $this->setExpectedException('PHPUnit_Framework_Error_Warning'); new Foo(); }