Szukaj…


Skonfiguruj środowisko testowe

Zainstaluj Codeception:

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

Zainstaluj Fakera:

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

Utwórz bazę danych, która będzie używana tylko do testów. Możesz powielić istniejącą bazę danych lub zastosować migracje:

cd tests
codeception/bin/yii migrate

Dostosuj konfigurację components['db'] w tests/codeception/config/config-local.php .

Dodaj katalog /var/www/yii/vendor/bin do swojej ścieżki.

Przejrzyj wszystkie pliki konfiguracji i .yml .

Uruchom serwer WWW, np .:

php -S localhost:8080

Uruchom testy:

codecept run

Więcej informacji:

Uwaga: Te instrukcje dotyczą wersji Yii2 2.0.9. W wersji 2.0.10 według Sam Dark część testowa zostanie ponownie uwzględniona (i instrukcje muszą zostać zaktualizowane). Wersja 2.0.10 powinna zostać wydana 11 września 2016 r .: https://github.com/yiisoft/yii2/milestones

Jak wyśmiewać ActiveRecord

Jeśli chcesz wyśmiewać AR, który nie próbuje połączyć się z bazą danych, możesz to zrobić w następujący sposób (jeśli używasz 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'
]);

Chodzi o to, że musimy przesłonić metodę atrybuty (), ponieważ ActiveRecord domyślnie pobiera listę atrybutów ze schematu bazy danych, którego staramy się unikać.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow