Suche…


Testumgebung einrichten

Codeception installieren:

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

Faker installieren:

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

Erstellen Sie eine Datenbank, die nur für die Tests verwendet wird. Sie können die vorhandene Datenbank duplizieren oder Migrationen anwenden:

cd tests
codeception/bin/yii migrate

Passen Sie die Konfiguration der components['db'] in tests/codeception/config/config-local.php .

Fügen Sie das Verzeichnis /var/www/yii/vendor/bin zu Ihrem Pfad hinzu.

Überprüfen Sie alle Konfigurations- und .yml Dateien.

Starten Sie den Webserver, zB:

php -S localhost:8080

Führen Sie die Tests durch:

codecept run

Mehr Informationen:

Hinweis: Diese Anweisungen gelten für die Yii2-Version 2.0.9. In der Version 2.0.10 wird laut Sam Dark der Testteil umgestaltet (und die Anweisungen müssen aktualisiert werden). Die Version 2.0.10 sollte am 11. September 2016 veröffentlicht werden: https://github.com/yiisoft/yii2/milestones

Wie wird ActiveRecord gespielt?

Wenn Sie AR übermitteln möchten, das nicht versucht, eine Verbindung zur Datenbank herzustellen, können Sie dies auf folgende Weise tun (bei Verwendung von PHPUnit):

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

Der Haken ist, dass wir die attributes () -Methode überschreiben müssen, da ActiveRecord standardmäßig die Attributliste aus dem Datenbankschema abruft, das wir zu vermeiden versuchen.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow