Zoeken…


Testomgeving instellen

Installeer Codeception:

composer global status
composer global require "codeception/codeception=~2.0.0" "codeception/specify=*" "codeception/verify=*"

Faker installeren:

cd /var/www/yii                                    // Path to your application
composer require --dev yiisoft/yii2-faker:*

Maak een database aan, die alleen voor de tests zal worden gebruikt. U kunt de bestaande database dupliceren of migraties toepassen:

cd tests
codeception/bin/yii migrate

Pas de components['db'] configuratie aan in tests/codeception/config/config-local.php .

Voeg de map /var/www/yii/vendor/bin aan je pad.

Bekijk alle configuratie- en .yml bestanden.

Start de webserver, bijvoorbeeld:

php -S localhost:8080

Voer de tests uit:

codecept run

Meer informatie:

Opmerking: deze instructies zijn geldig voor de Yii2-versie 2.0.9. In de versie 2.0.10 zal volgens Sam Dark het testgedeelte opnieuw worden verwerkt (en de instructies moeten worden bijgewerkt). De versie 2.0.10 zou op 11 september 2016 moeten verschijnen: https://github.com/yiisoft/yii2/milestones

Hoe ActiveRecord te bespotten

Als u AR wilt bespotten die geen verbinding probeert te maken met de database, kunt u dit op de volgende manier doen (als u PHPUnit gebruikt):

$post = $this->getMockBuilder('\app\model\Post')
    ->setMethods(['save', 'attributes'])
    ->getMock();
$post->method('save')->willReturn(true);
$post->method('attributes')->willReturn([
    'id',
    'status',
    'title',
    'description',
    'text'
]);

De vangst is dat we de attributes () -methode moeten overschrijven, omdat ActiveRecord standaard de attributenlijst uit het databaseschema haalt die we proberen te vermijden.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow