แพ็คเกจนี้เป็นชุดเครื่องมือที่ทำให้งานการทดสอบหน่วยบางอย่างง่ายขึ้น
JoomlaTestTestHelper
เป็นคลาสตัวช่วยแบบคงที่ที่สามารถใช้เพื่อบรรเทาความเจ็บปวดจากงานซ้ำ ๆ ในขณะที่ทำการทดสอบหน่วยด้วย PHPUnit
มีสองวิธีที่ช่วยเกี่ยวกับวัตถุจำลอง PHPUnit
TestHelper::assignMockCallbacks
วิธีการช่วยเหลือนี้ให้วิธีง่ายๆ ในการกำหนดค่าการโทรกลับจำลองจำนวนมาก
ใช้ JoomlaTestTestHelper; คลาส FooTest ขยาย PHPUnit_Framework_TestCase { ฟังก์ชั่นสาธารณะ testFoo() { // Create the mock.$mockFoo = $this->getMock( 'Foo', // Methods array.array(), // Constructor arguments.array(), // Mock class name.'', // โทร Constructor.false ดั้งเดิม - $mockCallbacks = array( // 'ชื่อวิธีการ' => <callback>'method1' => array('mockFoo', 'method1'), 'method2' => array($this, 'mockMethod2'), - TestHelper::assignMockCallbacks($mockFoo, $this, $mockCallbacks); } ฟังก์ชั่นสาธารณะ mockMethod2($value) { ส่งคืน strtolower($value); - -
TestHelper::assignMockReturns
วิธีการช่วยเหลือนี้มีวิธีง่ายๆ ในการกำหนดค่าการส่งคืนจำลองจำนวนมาก
ใช้ JoomlaTestTestHelper; คลาส FooTest ขยาย PHPUnit_Framework_TestCase { ฟังก์ชั่นสาธารณะ testFoo() { // Create the mock.$mockFoo = $this->getMock( 'Foo', // Methods array.array(), // Constructor arguments.array(), // Mock class name.'', // โทร Constructor.false ดั้งเดิม - $mockReturns = array( // 'ชื่อวิธีการ' => 'ค่าส่งคืนแบบกระป๋อง''method1' => 'ผลลัพธ์แบบกระป๋อง 1', 'method2' => 'ผลลัพธ์แบบกระป๋อง 2', 'method3' => 'ผลลัพธ์แบบกระป๋อง 3' , - TestHelper::assignMockReturns($mockFoo, $this, $mockReturns); - -
มีสามวิธีที่ช่วยในการไตร่ตรอง
TestHelper::getValue
เมธอด TestHelper::getValue
ช่วยให้คุณรับมูลค่าของทรัพย์สินที่ได้รับการคุ้มครองหรือทรัพย์สินส่วนตัว
ใช้ JoomlaTestTestHelper; คลาส FooTest ขยาย PHPUnit_Framework_TestCase { ฟังก์ชั่นสาธารณะ testFoo() { $instance = ฟูใหม่; // รับค่าของคุณสมบัติ `bar` ที่มีการป้องกัน.$value = TestHelper::getValue($instance, 'bar'); - -
วิธีนี้ควรใช้เท่าที่จำเป็น โดยปกติแล้ว การใช้เมธอด assertAttribute*
ของ PHPunit จะเหมาะสมกว่า
TestHelper::setValue
เมธอด TestHelper::setValue
ช่วยให้คุณสามารถตั้งค่าของทรัพย์สินที่ได้รับการคุ้มครองหรือทรัพย์สินส่วนตัวได้
ใช้ JoomlaTestTestHelper; คลาส FooTest ขยาย PHPUnit_Framework_TestCase { ฟังก์ชั่นสาธารณะ testFoo() { $instance = ฟูใหม่; // ตั้งค่าของคุณสมบัติ `bar` ที่ได้รับการป้องกัน TestHelper::setValue($instance, 'bar', 'ค่าใหม่'); - -
เมธอดนี้มีประโยชน์สำหรับการฉีดค่าลงในอ็อบเจ็กต์เพื่อวัตถุประสงค์ในการทดสอบเมธอด getter
TestHelper::invoke
TestHelper::invoke
intake อนุญาตให้คุณเรียกใช้เมธอดที่มีการป้องกันหรือส่วนตัวก็ได้ หลังจากระบุอ็อบเจ็กต์และชื่อเมธอด อาร์กิวเมนต์ที่เหลือจะถูกส่งผ่านไปยังเมธอดที่กำลังเรียกใช้
ใช้ JoomlaTestTestHelper; คลาส FooTest ขยาย PHPUnit_Framework_TestCase { ฟังก์ชั่นสาธารณะ testFoo() { $instance = ฟูใหม่; // เรียกใช้เมธอด `bar` ที่มีการป้องกัน.$value1 = TestHelper::inurge($instance, 'bar'); // เรียกใช้เมธอด `bar` ที่มีการป้องกันพร้อมอาร์กิวเมนต์$value2 = TestHelper::intake($instance, 'bar', 'arg1', 'arg2'); - -
เพิ่ม "joomla/test": "~2.0"
ลงในบล็อก need ใน composer.json ของคุณ จากนั้นเรียกใช้ composer install
{ "ต้องการ": { "joomla/test": "~2.0" - -
หรือคุณสามารถเรียกใช้สิ่งต่อไปนี้จากบรรทัดคำสั่ง:
ผู้แต่งต้องการ Joomla/test "~2.0"