Sök…


Ställ in testmiljö

Installera Codeception:

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

Installera Faker:

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

Skapa en databas, som endast kommer att användas för testerna. Du kan duplicera den befintliga databasen eller tillämpa migreringar:

cd tests
codeception/bin/yii migrate

Justera components['db'] -konfiguration i tests/codeception/config/config-local.php .

Lägg till katalogen /var/www/yii/vendor/bin till din sökväg.

Granska alla konfigurations- och .yml filer.

Starta webbservern, t.ex.

php -S localhost:8080

Kör testerna:

codecept run

Mer information:

Obs: Dessa instruktioner är giltiga för Yii2 version 2.0.9. I version 2.0.10 kommer enligt Sam Dark att testningsdelen tas upp igen (och instruktionerna måste uppdateras). Version 2.0.10 bör släppas den 11 september 2016: https://github.com/yiisoft/yii2/milestones

Hur man hånar ActiveRecord

Om du vill håna AR som inte försöker ansluta till databasen kan du göra det på följande sätt (om du använder 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'
]);

Fångsten är att vi måste åsidosätta metoden attribut () eftersom ActiveRecord som standard får attributlista från databasschemat som vi försöker undvika.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow