kahlan
5.2.8
Kahlan은 describe-it
을 사용하고 PHP에서 테스트를 한 단계 발전시키는 RSpec/JSpec과 같은 모든 기능을 갖춘 단위 및 BDD 테스트 프레임워크입니다.
Kahlan을 사용하면 필요한 PECL 확장 없이 Ruby나 JavaScript처럼 코드를 직접 스텁 또는 몽키 패치할 수 있습니다.
Unified Diff에서 Warren Seymour 프레젠테이션(2015)
Grafikart 프랑스어 프레젠테이션(2016, Kahlan 2.X)
chat.freenode.net (서버) #kahlan (채널)
여기에서 전체 문서를 확인하세요.
PHP 7.2+
작곡가
phpdbg 또는 Xdebug(코드 적용 범위 분석에만 필요)
RSpec/JSpec 구문
코드 적용 범위 측정항목(xdebug 또는 phpdbg 필요)
편리한 스터빙 시스템(조롱이나 예언은 더 이상 필요하지 않음)
클래스 메소드에 스텁을 직접 설정합니다(즉, 동적 조롱 허용).
코드를 원숭이 패치하는 기능(즉, 핵심 기능/클래스를 즉시 교체할 수 있음)
클래스/인스턴스에서 호출된 메서드를 확인하세요.
내장 보고자(이스탄불 또는 lcov를 통한 터미널 또는 HTML 보고)
내장 수출업체(작업복, Code Climate, Scrutinizer, Clover)
확장 가능하고 사용자 정의 가능한 워크플로우
<?phpdescribe("예", function() { it("기대를 합니다", function() { Expect(true)->toBe(true); }); it("메소드가 호출될 것으로 예상합니다.", function() { $user = new User(); Expect($user)->toReceive('save')->with(['validates' => false]); $ user->save(['validates' => false]); }); it("함수 스텁", function() { make('time')->toBeCalled()->andReturn(123); $user = new User(); Expect($user->save())-> toBe(true) Expect($user->created)->toBe(123); }); it("클래스를 스텁합니다", function() {allow('PDO')->toReceive('prepare', 'fetchAll')->andReturn([['name' => 'bob']]); $user = new User(); Expect($user->all())->toBe([['name' => 'bob']]); }); });
$ 작곡가 필요 --dev kahlan/kahlan
참고: Kahlan은 무슨 일이 일어나고 있는지 쉽게 이해할 수 있도록 의미 체계 버전 관리를 사용하고 CHANGELOG
유지 관리합니다.
git clone git://github.com/kahlan/kahlan.git cd kahlan composer install bin/kahlan # to run specs or, bin/kahlan --coverage=4 # to run specs with coverage info for namespaces, classes & methods (require xdebug)