PHP_CodeCoverage 1.1 удалил аксессуар singleton для PHP_CodeCoverage_Filter который позволил нашим файлам bootstrap.php PHPUnit добавлять каталоги к белым / черным спискам. PHPUnit 3.5 использовал черный список для разделения классов на трассировки стека исключений, а CC использует белый список для ограничения отслеживания. Мы использовали обе эти функции. Как я могу получить экземпляр PHP_CodeCoverage_Filter который PHPUnit будет использовать […]
Я пытаюсь написать тесты, используя php для базы данных. У меня есть таблица, в которой хранится хэш пароля как двоичный. Как установить тестовые данные в наборе данных xml, например, здесь есть шестнадцатеричные данные, и я получаю данные об ошибках слишком долго для столбца. Спасибо. <dataset> <table name="subscription_ips"> <column>password</column> <row> <value>0x771C87E79B130E3FB966E424D7F1358D8DABBA0A26F288C0C1B5D8E3D95F2942100CA54B6824A7AC0964180A9426A1C37C371BA3FDBB000621FE175608C4B16C</value> </row> </table> </dataset> Но похоже, […]
Чтобы начать с вывода, я получаю эту ошибку: [ErrorException] Argument 1 passed to SomeValidatorTest::__construct() must be an instance of App\Services\Validators\SomeValidator, none given, called in ….vendor/phpunit/phpunit/src/Framework/TestSuite.php on line 475 and defined В приложении Laravel у меня есть сценарий под названием «SomeValidator.php», который выглядит так: <?php namespace App\Services\Validators; use App\Services\SomeDependency; class SomeValidator implements ValidatorInterface { public function […]
У меня есть следующая функция: function foo($p) { if ($p == null) throw new Exception('bla'); if ($p == null) { throw new Exception('bla'); } […] } Мой тест для этой функции не охватывает строки, генерирующие исключение. Но PHPUnit говорит мне, что первый оператор «throw» – это coverd, второй – нет. Может быть, первый интерпретируется, но […]
Я изучаю модульное тестирование в laravel, используя phpunit и насмешку. В настоящее время я пытаюсь проверить UsersController :: store (). Я издеваюсь над моделью пользователя и использую его для тестирования метода индекса и, похоже, работает. Когда я вывожу $ this-> user-> all (), тест терпит неудачу и когда его в нем проходит. При тестировании метода […]
Я пишу приложение, используя PHP CodeIgniter Framework. Я пытаюсь протестировать приложение, используя CI_Unit, с расширением PHPUnit. Чтобы проверить модель, я пытаюсь загрузить поставщика данных YAML, как это определено в документации PHPUnit, я получаю сообщение об ошибке. Если я перепутаю объект поставщика данных, я получаю еще одну ошибку. Если я предоставил ему ванильный PHP-массив, он будет […]
У меня есть эта конфигурация: <?xml version="1.0" encoding="UTF-8"?> <phpunit backupGlobals = "false" backupStaticAttributes = "false" colors = "false" convertErrorsToExceptions = "true" convertNoticesToExceptions = "true" convertWarningsToExceptions = "true" processIsolation = "false" stopOnFailure = "false" stopOnError = "false" stopOnIncomplete = "false" syntaxCheck = "false" bootstrap = "test_bootstrap.php" > <testsuites> <testsuite name="UnitTests"> <file>unit/api/2/ApiControllerTest.php</file> <file>unit/api/2/RoutesTest.php</file> </testsuite> он запускает тестовые […]
Когда вы используете композицию, вы можете высмеивать другие объекты, из которых зависит ваш класс под тестом, но когда вы используете наследование, вы не можете издеваться над базовым классом. (Или вы можете?) Обычно я стараюсь отдать предпочтение композиции над наследованием , но иногда наследование действительно кажется лучшим инструментом для работы – ну, по крайней мере, до […]
Когда ошибка, которую фреймворк PHPunit не ожидает, происходит, тестирование останавливается, а PHP выдает ошибку, но PHPunit не записывает, что это была ошибка. Как я могу убедиться, что PHPunit записывает его как ошибку.
У меня такой код: class ToBeTested { function simpleMethod($param) { if(0 === $param) { trigger_error("Param is 0!", E_USER_WARNING); return false; } return true; } } и проверьте этот код: class SimpleTest extends PHPUnit_Framework_TestCase { function testSimpleMethod() { $toBeTestedObject = new ToBeTested(); $this->assertFalse($toBeTestedObject->simpleMethod(0)); } } Я знаю, как тестировать, если ошибка запускается ( $this->setExpectedException() ), но […]