수색…


테스트 환경 설정

코드 삽입 설치 :

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

Faker 설치 :

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

테스트 용으로 만 사용되는 데이터베이스를 만듭니다. 기존 데이터베이스를 복제하거나 마이그레이션을 적용 할 수 있습니다.

cd tests
codeception/bin/yii migrate

tests/codeception/config/config-local.php 에서 구성 components['db'] 구성을 조정하십시오.

경로에 /var/www/yii/vendor/bin 디렉토리를 추가하십시오.

모든 구성 및 .yml 파일을 검토하십시오.

웹 서버를 시작하십시오. 예 :

php -S localhost:8080

테스트를 실행하십시오.

codecept run

추가 정보 :

참고 : 이 지침은 Yii2 버전 2.0.9에 유효합니다. 버전 2.0.10에서는 샘 다크 (Sam Dark)의 테스트 부분을 다시 고려하여 (지침을 업데이트해야 함) 따라합니다. 버전 2.0.10은 2016 년 9 월 11 일에 릴리스되어야합니다. https://github.com/yiisoft/yii2/milestones

ActiveRecord를 모의하는 법

데이터베이스에 연결을 시도하지 않는 AR을 조롱하려면 다음과 같이하십시오 (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'
]);

catch는 기본적으로 ActiveRecord가 피하려고하는 데이터베이스 스키마에서 속성 목록을 가져 오기 때문에 attributes () 메서드를 재정의해야한다는 것입니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow