Articles of unit testing

Тестирование фасадов Laravel с издевательством всегда проходит, даже если это не удается

Я пытаюсь издеваться над некоторыми фасадами в Laravel во время модульного тестирования, но кажется, что тесты всегда проходят независимо от того, что. Например, этот пример, взятый из документации Laravel: Event::shouldReceive('fire')->once()->with('foo', array('name' => 'Dayle')); Кажется, я могу поместить это в любой из методов тестирования, и они всегда проходят, хотя ничего не было сделано с фасадом Event […]

Настройка HTTP-заголовков для запуска тестовых примеров

Я использую phpunit. Я хочу проверить свой код, который в основном получает параметры из HTTP-заголовков и использует его для выполнения последующих операций. Но при тестировании заголовки имеют значение null. Есть ли способ установить заголовки (может быть в файле начальной загрузки), чтобы когда мой код обращался к параметру, он получил это значение? ОБНОВЛЕНИЕ: я попытался под […]

Не могли бы вы считать, что это правильный тест?

Я хотел бы получить некоторые отзывы о том, что является одним из моих первых тестовых примеров PHPUnit. Предметом тестов является простой класс конфигурации в приложении PHP. Он используется для создания, хранения и извлечения настроек конфигурации. Настройки сохраняются в массиве внутри класса. Каждая настройка имеет следующие свойства: (например, frontend:menu:bgcolor ) type (один из string , int […]

phpunit mock – метод не существует

Недавно я обновил PHPunit от 5.3 до 5.5 в IntegrationTestCase приложения, основанного на CakePhp 3.x. и я не понимаю, как обновлять скрипты генерации макета. Первоначально я создал свой макет: $stub = $this->getMock('SomeClass', array('execute')); $stub->method('execute') ->will($this->returnValue($this->returnUrl)); После изменения на PHPUnit 5.5 это вызвало следующее предупреждение: PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead Чтобы исправить это […]

Cakephp 3 – MissingDatasourceConfigException при запуске теста phpunit

Я пытаюсь запустить некоторые модульные тесты в CakePHP 3 с PHPUnit 4.7.3, но я получаю следующую ошибку: PHPUnit 4.7.3 by Sebastian Bergmann and contributors. There was 1 error: 1) App\Test\TestCase\Model\Table\MoviesTableTest::testFindMoviesByGenre Cake\Datasource\Exception\MissingDatasourceConfigException: The datasource configuration "default" was not found. C:\xampp\htdocs\movie-pal\vendor\cakephp\cakephp\src\Datasource\ConnectionManager.php:188 C:\xampp\htdocs\movie-pal\vendor\cakephp\cakephp\src\ORM\TableRegistry.php:191 C:\xampp\htdocs\movie-pal\tests\TestCase\Model\Table\MoviesTableTest.php:17 FAILURES! Tests: 1, Assertions: 0, Errors: 1. Я попытался следовать за книгой, но, вероятно, […]

Codeception, настроить тестовый путь пакета

У меня проблема с Codeception. У меня есть проект, в котором участвует команда, и я хочу реализовать тест с использованием кода, и этот тест должен работать для всех в моей команде. в настоящее время я настраиваю тест для своей собственной цели, и вот пример его конфигурации: class_name: FunctionalTester modules: enabled: # add framework module here […]

PHPUnit тестовый и абстрактный класс с помощью метода «Метод»

Я тестирую абстрактный класс, который имеет метод Method . Вот мой абстрактный класс (сокращенный): abstract class ClassToTest { function Method($_value = NULL) { // based on the value passed in a different value is returned. } } Вот мой класс PHPUnit: class ClassToTestTest extends PHPUnit_Framework_TestCase { public $object = NULL; public function setUp() { $this->object […]

Laravel 5: Model-> fill () игнорирует свойство $ fillable в модульных тестах

У меня есть пользовательский контроллер со следующими правилами проверки: public function store(Request $request) { … $this->validate($request, [ 'name' => 'required', 'email' => 'email|required|unique:users', 'password' => 'confirmed|max:32|min:8|required', 'roles' => 'exists:roles,id|required', ]); $user = new User(); $user->fill($request->all()); … } Моя модель User.php определяет заполняемые свойства как: protected $fillable = ['name', 'email']; Чтобы пройти confirmed проверку, я должен […]

Тестирование частных методов, не работающих

Вот мой тестовый класс; <?php namespace stats\Test; use stats\Baseball; class BaseballTest extends \PHPUnit_Framework_TestCase { public function setUp() { $this->instance = new Baseball(); } public function tearDown() { unset($this->instance); } public function testOps() { $obp = .363; $slg = .469; $ops = $this->instance->calc_ops($obp, $slg); //line 23 $expectedops = $obp + $slg; $this->assertEquals($expectedops, $ops); } } И […]

PHPUnit сгенерированный тестовый скелетный путь

Можно ли сообщить phpunit, куда поставить сгенерированный тестовый скелетный файл командой -skeleton-test? Даже возможно ли сообщить phpunit о повторной структуре каталогов? Допустим, у меня есть файл для тестирования в lib/model/SomeClass.php и я хочу, чтобы phpstorm сгенерировал модульный тестовый класс и поместил его в test/lib/model/SomeClassTest.php без создания всей необходимой структуры каталогов. Заранее спасибо!