test
1.0.0
이 패키지는 일부 단위 테스트 작업을 더 쉽게 만들어주는 도구 모음입니다.
JoomlaTestTestHelper
는 PHPUnit을 사용하여 단위 테스트를 수행하는 동안 반복 작업의 고통을 덜어주는 데 사용할 수 있는 정적 도우미 클래스입니다.
PHPUnit 모의 객체에 도움이 되는 두 가지 방법이 있습니다.
TestHelper::assignMockCallbacks
이 도우미 메서드는 모의 콜백을 대량으로 구성하는 쉬운 방법을 제공합니다.
JoomlaTestTestHelper 사용; 클래스 FooTest는 PHPUnit_Framework_TestCase를 확장합니다. { 공개 함수 testFoo() { // mock 생성.$mockFoo = $this->getMock( 'Foo', // 메서드 array.array(), // 생성자 인수.array(), // 모의 클래스 이름.'', // 호출 원래 생성자.false ); $mockCallbacks = array( // '메소드 이름' => <callback>'method1' => array('mockFoo', 'method1'), 'method2' => array($this, 'mockMethod2'), ); TestHelper::할당MockCallbacks($mockFoo, $this, $mockCallbacks); } 공개 함수 mockMethod2($value) { return strtolower($value); } }
TestHelper::assignMockReturns
이 도우미 메서드는 모의 반환 값을 대량으로 구성하는 쉬운 방법을 제공합니다.
JoomlaTestTestHelper 사용; 클래스 FooTest는 PHPUnit_Framework_TestCase를 확장합니다. { 공개 함수 testFoo() { // mock 생성.$mockFoo = $this->getMock( 'Foo', // 메서드 array.array(), // 생성자 인수.array(), // 모의 클래스 이름.'', // 호출 원래 생성자.false ); $mockReturns = array( // '메서드 이름' => '미리 준비된 반환 값''method1' => '미리 준비된 결과 1', 'method2' => '미리 준비된 결과 2', 'method3' => '미리 준비된 결과 3' , ); TestHelper::signMockReturns($mockFoo, $this, $mockReturns); } }
성찰에 도움이 되는 세 가지 방법이 있습니다.
TestHelper::getValue
TestHelper::getValue
메소드를 사용하면 보호 또는 개인 속성의 값을 가져올 수 있습니다.
JoomlaTestTestHelper 사용; 클래스 FooTest는 PHPUnit_Framework_TestCase를 확장합니다. { 공개 함수 testFoo() { $instance = 새로운 Foo; // 보호된 `bar` 속성의 값을 가져옵니다.$value = TestHelper::getValue($instance, 'bar'); } }
이 방법은 드물게 사용해야 합니다. 일반적으로 PHPunit의 assertAttribute*
메소드를 사용하는 것이 더 적합합니다.
TestHelper::setValue
TestHelper::setValue
메소드를 사용하면 보호 또는 개인 속성의 값을 설정할 수 있습니다.
JoomlaTestTestHelper 사용; 클래스 FooTest는 PHPUnit_Framework_TestCase를 확장합니다. { 공개 함수 testFoo() { $instance = 새로운 Foo; // 보호된 `bar` 속성의 값을 설정합니다. TestHelper::setValue($instance, 'bar', '새 값'); } }
이 메소드는 getter 메소드를 테스트하기 위해 객체에 값을 주입하는 데 유용합니다.
TestHelper::invoke
TestHelper::invoke
메소드를 사용하면 보호된 메소드나 비공개 메소드를 호출할 수 있습니다. 객체와 메서드 이름을 지정한 후 나머지 인수는 호출되는 메서드에 전달됩니다.
JoomlaTestTestHelper 사용; 클래스 FooTest는 PHPUnit_Framework_TestCase를 확장합니다. { 공개 함수 testFoo() { $instance = 새로운 Foo; // 보호된 `bar` 메소드를 호출합니다.$value1 = TestHelper::invoke($instance, 'bar'); // 인수를 사용하여 보호된 `bar` 메서드를 호출합니다.$value2 = TestHelper::invoke($instance, 'bar', 'arg1', 'arg2'); } }
작곡가.json의 require 블록에 "joomla/test": "~2.0"
추가한 다음 composer install
실행하세요.
{ "요구": { "joomla/테스트": "~2.0" } }
또는 명령줄에서 다음을 간단히 실행할 수도 있습니다.
작곡가는 joomla/test "~2.0"이 필요합니다.