Paket ini merupakan kumpulan alat yang membuat beberapa pekerjaan pengujian unit menjadi lebih mudah.
JoomlaTestTestHelper
adalah kelas pembantu statis yang dapat digunakan untuk menghilangkan kesulitan tugas yang berulang saat pengujian unit dengan PHPUnit.
Ada dua metode yang membantu objek tiruan PHPUnit.
TestHelper::assignMockCallbacks
Metode pembantu ini menyediakan cara mudah untuk mengonfigurasi callback tiruan secara massal.
gunakan JoomlaTestTestHelper; kelas FooTest memperluas PHPUnit_Framework_TestCase { fungsi publik testFoo() { // Buat mock.$mockFoo = $this->getMock( 'Foo', // Metode array.array(), // Argumen konstruktor.array(), // Nama kelas tiruan.'', // Panggil konstruktor asli.false ); $mockCallbacks = array( // 'Nama Metode' => <callback>'method1' => array('mockFoo', 'method1'), 'method2' => array($ini, 'mockMethod2'), ); TestHelper::assignMockCallbacks($mockFoo, $ini, $mockCallbacks); } fungsi publik mockMethod2($nilai) { kembalikan strtolower($nilai); } }
TestHelper::assignMockReturns
Metode pembantu ini menyediakan cara mudah untuk mengonfigurasi nilai pengembalian tiruan secara massal.
gunakan JoomlaTestTestHelper; kelas FooTest memperluas PHPUnit_Framework_TestCase { fungsi publik testFoo() { // Buat mock.$mockFoo = $this->getMock( 'Foo', // Metode array.array(), // Argumen konstruktor.array(), // Nama kelas tiruan.'', // Panggil konstruktor asli.false ); $mockReturns = array( // 'Nama Metode' => 'Nilai pengembalian kalengan''method1' => 'hasil kalengan 1', 'metode2' => 'hasil kalengan 2', 'metode3' => 'hasil kalengan 3' , ); TestHelper::assignMockReturns($mockFoo, $ini, $mockReturns); } }
Ada tiga metode yang membantu refleksi.
TestHelper::getValue
Metode TestHelper::getValue
memungkinkan Anda mendapatkan nilai properti yang dilindungi atau pribadi.
gunakan JoomlaTestTestHelper; kelas FooTest memperluas PHPUnit_Framework_TestCase { fungsi publik testFoo() { $instance = Foo baru; // Dapatkan nilai properti `bar` yang dilindungi.$value = TestHelper::getValue($instance, 'bar'); } }
Metode ini harus digunakan dengan hemat. Biasanya lebih tepat menggunakan metode assertAttribute*
PHPunit.
TestHelper::setValue
Metode TestHelper::setValue
memungkinkan Anda menyetel nilai properti yang dilindungi atau pribadi.
gunakan JoomlaTestTestHelper; kelas FooTest memperluas PHPUnit_Framework_TestCase { fungsi publik testFoo() { $instance = Foo baru; // Tetapkan nilai properti `bar` yang dilindungi. TestHelper::setValue($instance, 'bar', 'Nilai Baru'); } }
Metode ini berguna untuk memasukkan nilai ke dalam suatu objek untuk tujuan pengujian metode pengambil.
TestHelper::invoke
Metode TestHelper::invoke
memungkinkan Anda untuk memanggil metode yang dilindungi atau pribadi. Setelah menentukan objek dan nama metode, argumen yang tersisa diteruskan ke metode yang dipanggil.
gunakan JoomlaTestTestHelper; kelas FooTest memperluas PHPUnit_Framework_TestCase { fungsi publik testFoo() { $instance = Foo baru; // Memanggil metode `bar` yang dilindungi.$value1 = TestHelper::invoke($instance, 'bar'); // Panggil metode `bar` yang dilindungi dengan argumen.$value2 = TestHelper::invoke($instance, 'bar', 'arg1', 'arg2'); } }
Tambahkan "joomla/test": "~2.0"
ke blok require di composer.json Anda, lalu jalankan composer install
.
{ "membutuhkan": { "joomla/test": "~2.0" } }
Alternatifnya, Anda cukup menjalankan perintah berikut dari baris perintah:
komposer memerlukan joomla/test "~2.0"