Anda di halaman 1dari 42

DAFTAR ISI

DAFTAR ISI ........................................................................................................................................................I

PRAKTIKUM 1 INSTALASI ENVIRONMENT UNTUK DEVELOPMENT ................................................................... 1

PRAKTIKUM 2 UNIT TESTING ......................................................................................................................... 13

PRAKTIKUM 3 MENJALANKAN PENGUJIAN DALAM PHPUNIT 2 ..................................................................... 21

PRAKTIKUM 4 MENJALANKAN PENGUJIAN DALAM PHPUNIT 3 ..................................................................... 24

PRAKTIKUM 5 STUB TEST ............................................................................................................................... 29

PRAKTIKUM 6 ASSERTIONS ............................................................................................................................ 31

i
Praktikum 1 Instalasi Environment untuk Development

A. Environment Development

Tujuan Pembelajaran
1. Mengetahui environment dasar untuk melakukan development suatu aplikasi, dalam
hal ini mencakup web application.

2. Mampu menginstalasi segala environment dengan tepat.

3. Mampu menjalankan environment pada PC.

1.1 Pendahuluan
Meskipun Environment Setup bukan merupakan elemen dari setiap Bahasa
Pemrograman, ini adalah langkah pertama yang harus diikuti sebelum memulai untuk
menulis sebuah program.

perlu menyiapkan perangkat lunak yang diperlukan, yaitu instalasi di PC yang akan
digunakan untuk menulis program komputer, meng Compile, dan menjalankannya. Misalnya,
jika Anda perlu menggunakan Internet, maka Anda memerlukan penyiapan berikut pada
perlengkapan anda :

 Koneksi Internet yang berfungsi untuk terhubung ke Internet


 Browser Web seperti Internet Explorer, Chrome, Safari, dll.

Berikut adalah Environment utama yang dibutuhkan sebelum anda memulai


mengoding software :

 Text Editor untuk membuat program komputer


 Kompiler untuk mengkompilasi program menjadi format biner.
 Interpreter untuk menjalankan program secara langsung.
Dalam dunia pemrograman, Unit Testing adalah metode verifikasi perangkat lunak di
mana programmer mengetes bahwa suatu unit program layak untuk dipakai. Unit tes biasanya
ditulis dan dijalankan oleh programmer untuk memastikan bahwa kode memenuhi desain dan
berperilaku sebagaimana diinginkan.

Tujuan dari pengujian unit adalah mengisolasi setiap bagian dari program dan
menunjukkan bahwa bagian-bagian individu (unit-unit tersebut) adalah benar. Di dalam
procedural programming methodology, sebuah unit adalah sebuah function atau sebuah
procedure.

1
1.2 Latihan
Instalasi XAMPP untuk environment pemrograman aplikasi berbasis web.

1. Pastikan telah mengunduh installer XAMPP dari website tersebut, biasanya memiliki
nama xampp-win32-xxxxxx.exe untuk sistem operasi windows.
2. Kemudian akan muncul tampilan berikut :

Klik Next untuk melanjutkan instalasi.

3. Selanjutnya biarkan semua komponen di checklist.

Dan klik Next.

2
4. Pilih direktori untuk menginstalasi XAMPP. Disarankan untuk tidak memilih
direktori C: dan pilih direktori lainnya.

Lalu klik Next.


5. Tidak perlu men-checklist di bagian tengah.

Lalu klik Next.


6. Maka proses instalasi akan berjalan dan tunggu hingga selesai.

3
7. Setelah berhasil diinstal, akan muncul notifikasi untuk langsung menjalankan control
panel. Silakan klik Finish.

8. Silakan buka aplikasi XAMPP kemudian klik tombol Start pada Apache dan MySQL.
Jika berhasil dijalankan, Apache dan MySQL akan berwarna hijau seperti gambar di
bawah ini.

4
Untuk melakukan pengecekan, silakan akses http://localhost.

Instalasi composer untuk media pemasangan dependency, unit testing dan lain – lain.

1. Silakan untuk mengunduh installer composer di http://getcomposer.org

2. Silakan running installer Composer-Setup.exe.


3. Muncul halaman seperti di bawah ini dan klik Next.

5
4. Selanjutnya akan diminta untuk menentukan lokasi file php (file php.exe) yang akan
digunakan pada command line (PHP CLI- Command Line Interface) File tersebut
biasanya berada di dalam folder php. Jika sobat menggunakan XAMPP, misal
E:\xampp, maka lokasi file ini ada di dalam E:\xampp\php, contoh
E:\xampp\php\php.exe

5. Selanjutnya tentukan apakah koneksi internet menggunakan proxy. Misal seperti pada
sebuah kantor dimana koneksi internetnya terpusat pada proxy tertentu. Jika
menggunakan proxy, centang pilihan “Use a proxy server to connect to internet” dan
tulis alamat proxy tersebut beserta portnya, misal: 12.13.65.250:8080

6
6. Selanjutnya muncul jendela review settings yang akan dijalankan, klik Install untuk
melanjutkan.

7. Installer akan mendownload Composer dan komponen terkait kemudian menginstall


nya pada komputer.

7
8. Terdapat jendela pemberitahuan bahwa telah terjadi perubahan pada windows
environment, perubahan ini dimaksudkan agar composer dapat dijalankan pada
command prompt.

9. Ada dua variabel yang ditambahkan pada sistem environment, yaitu:


 Pada bagian “User variables” yaitu variabel PATH dengan value lokasi binary
composer (C:\Users\agusph\AppData\Roaming\Composer\vendor\bin)
 Bagian System Variables yaitu pada variable Path dengan value lokasi
file php.exe (E:\xampp\php)

8
10. Proses instalasi selesai, klik Finish untuk menutup jendela instalasi.

11. Selanjutnya tes apakah composer sudah terinstall dengan baik. Buka command
prompt dan jalankan perintah composer --version, jika berhasil, maka akan muncul
tampilan seperti gambar berikut:

9
B. Penggunaan Composer

Tujuan Pembelajaran
1. Memahami fungsi composer

2. Mampu menggunakan composer untuk instalasi dependency

1.3. Pendahuluan
Dalam beberapa tahun belakangan, terjadi perubahan yang sangat signifikan dalam
dunia pemrograman php. Yakni munculnya dependencies manager yang bernama composer.
Composer adalah sebuah project open source yang dimotori oleh Nils Adermann dan Jordi
Boggiano. Project composer ini dihost di github (https://github.com/composer/composer)
tercatat sejak tanggal 3 April 2011 dan masih aktif sampai sekarang.

Kehadiran composer membuat ngoding php jadi lebih terstruktur dan lebih rapi.
Banyak programmer terbiasa dengan bahasa pemrograman yang terstruktur, ketika pindah ke
php, menemukan banyak hal yang rancu. Terutama dalam memanajemen struktur hirarki
project. Sehingga membutuhkan usaha lebih untuk menerapkan konsep OOP yang baik dalam
php.

Hal ini bisa terjadi karena –seperti yang tahu– , bahwa dalam bahasa pemrograman
php, pada setiap kali request, maka hanya ada satu file php saja yang dieksekusi. Hanya satu
file saja. Dan jika ingin mengakses file lain yang terpisah seperti misalkan memanggil
function di file lain atau membuat instan dari kelas yang filenya terpisah, maka perlu meng-
include atau require file yang bersangkutan sehingga seolah-olah file yang terpisah tadi jadi
satu dengan file yang request user sedang mengarah kepadanya. Dengan composer dan
autoload-nya serta namespace, bisa bebas mengakses file-file php tanpa harus ribet meng-
include atau me-require semua file atau class yang butuhkan, autoload dari composer sudah
melakukan semua itu out of the box. Sehingga oop dalam php benar-benar makes sense.

Selain autoload, composer –sebagai dependencies atau package manager– juga


menyelesaikan permasalahan dependencies dalam project . Semisal, membutuhkan suatu
package atau library A. Jika menggunakan cara konvensional, maka perlu mendownload
package A dan meletakkannya dalam project , lalu untuk mengakses library tersebut, perlu
melakukan include atau require terhadap file-file dari library A. Sekilas memang terlihat
simpel, tapi, bagaimana jika library A ternyata membutuhkan library lain –katakanlah library
B–, lantas library B juga membutuhkan library C? bisa pusing sendiri. Belum lagi soal versi?
Library A versi sekian membutuhkan library B versi sekian, dan library B versi sekian

10
membutuhkan library C versi sekian. benar-benar akan mendapatkan masalah yang rumit
jika tidak jeli dalam mengantur dependencies dalam project. Dan kabar baiknya, composer
hadir untuk menyederhanakan masalah tersebut! cukup memasang library A dengan
composer, maka semua library yang dibutuhkan oleh library A akan otomatis dipasang juga
oleh composer. Dan juga tidak perlu repot-repot merequire atau meng-include file library
satu per satu.

Untuk repository sendiri, composer menggunakan packagist. Di mana terdapat ribuan


package dan libraries php di packagist yang bisa langsung gunakan hanya dengan composer.
Dan terhitung sejak bulan September 2011 hingga hari ini, terdapat lebih dari 83K packages
dan lebih dari 414K versions packages yang dihost di packagist (data bisa dilihat di
→ https://packagist.org/statistics). Ini artinya, dengan composer, memiliki akses yang luas
dan mudah untuk mendapatkan banyak package. Tentunya ini bisa meningkatkan tingkat
keproduktifitasan serta meningkatkan efektifitas kerja.

1.4. Latihan
Ini adalah contoh bagaimana composer bekerja sebagai dependency manager. Contoh
yang akan dilakukan adalah dengan instalasi package PHP minify yang digunakan untuk
kompresi file javascript.

Buka command prompt dan arahkan cursor ke direktori dimana kita akan menginstall
aplikasi/package tersebut, misal di E:\xampp-7.0.6\htdocs\minify\src,

Setelah itu kita jalankan perintah composer require matthiasmullie/minify. Perintah


untuk sudah di sediakan oleh penulisnya, kita tinggal menggunakannya saja. Pada contoh
kali ini command yang kita gunakan terdapat pada halaman depan PHP Minify. Tunggu
beberapa saat (cukup lama) hingga proses selesai :

11
Untuk memastikan proses instalasi berhasil, buka folder dimana kita menginstall package

1.5. Tugas
Buatlah laporan untuk praktikum modul 1 dengan baik dan benar.

12
Praktikum 2 Unit Testing

A. Instalasi dan Konfigurasi Unit Testing

Tujuan Pembelajaran
1. Memahami mampu melakukan instalasi Unit Testing.

2. Mampu melakukan konfigurasi Unit Testing sebagai dependency application

2.1. Pendahuluan
Unit Testing adalah pengujian sebuah fungsi, kelas, interface, prosedur dari sebuah
aplikasi yang bersifat code. Unit Testing adalah sebuah metode yang masing-masing unit dari
kode diuji untuk menentukan apakah fungsi dari kode-kode tersebut berjalan dengan baik
atau tidak.

 Unit Testing biasanya dibuat oleh programmer untuk memastikan kode yang
dibuatnya memenuhi persyaratan dan sesuai yang diharapkan.

 Tujuan dari Unit testing adalah untuk memisahakan setiap bagian dari kode program
tersebut agar lebih mudah dalam debug apabila ada bug

 Unit testing pada dasarnya dilakukan sebelum integrasi

 Metode pengujian yang digunakan unit testing adalah White Box Testing

Dalam melakukan Unit Testing diperlukan Framework / tools yang agar


mempermudah dalam melakukan unit testing, Framework disini pun dibagi berdasarkan
Bahasa pemograman yang digunakan. Berikut List Framework yang sering digunakan

PHP:

PHPUnit : Menghasilkan XML, laporan HTML dengan kode cakupan

PHP Unit Testing Framework : Menghasilkan ASCII, XML atau output XHTML dan
berjalan dari baris perintah.

SimpleTest : Unit testing untuk PHP dan web.

CodeCeption

Java

JUnit

13
TestNG : dapat mencakup unit test, tes fungsional, dan tes integrasi. Memiliki fasilitas
untuk membuat bahkan tidak ada-fungsional tes (sebagai tests loading, tes waktunya)

2.2. Latihan
1. Buatlah folder baru di dalam c:\xampp\htdocs\ beri nama misalkan “phpunit”
2. Buka Command Prompt, arahkan directory ke alamat folder yang telah dibuat
sebelumnya. Misalkan

c:\xampp\htdocs\phpunit.

3. Download resource phpunit melalui composer dengan cara menjalankan perintah


berikut :

Composer require phpunit/phpunit

4. Setting Environment Variable, pada bagian Path, tambahkan alamat bin yang ada
dalam folder yang telah dibuat sebelumnya.

14
5. Tutup CMD, lalu buka kembali, setelah itu test apakah phpunit sudah terinstall
dengan baik atau tidak, dan bisa dijalankan di seluruh directory dengan cara
menjalankan instruksi :

phpunit –version

15
6. Jika sudah bisa muncul, maka phpunit berhasil diinstalasi

B. Menjalankan Pengujian dalam PHPUnit 1

2.3. Pendahuluan
Setelah instalasi awal dan konfigurasi PHPUnit untuk sebuah proyek baru. Ada
beberapa konvensi yang dapat digunakan oleh PHPUnit, dan dapat membuat tes sederhana.
Itu, bagaimanapun, memperkenalkan Anda ke pernyataan paling dasar dari PHPUnit yaitu
dengan - assertTrue ().

ASSERTIONS

Apa itu assestion? Wikipedia mendefinisikan sebuah asertion sebagai sebuah predikat
(pernyataan benar-salah) ditempatkan dalam sebuah program untuk menunjukkan bahwa
pengembang berpikir bahwa predikat selalu benar di coding itu.

Pengujian apakah true

Contoh awal,

public function testTrueIsTrue() { $foo = true; $this->assertTrue($foo); }

Pengujian apakah instruksi bernilai benar akan menegaskan ke true (jika (true ==
true)). apa yang Anda lihat adalah apa yang Anda dapatkan dengan pernyataan.

Jika menghasilkan salah itu benar (jika (salah == benar)), kita akan mendapatkan hasil
tes yang gagal:
public function testTrueIsTrue() { $foo = false; $this->assertTrue($foo); }

Pengujian apakah false

Hampir sama dengan assertion atau pengujian true, sintax yang digunakan adalah
assertFalse. Seperti berikut.
public function testFalseIsFalse() { $foo = false; $this->assertFalse($foo); }

Assertion yang tersedia

16
PHPUnit mempunyai 90 jenis asersitions, jika Anda menggunakan IDE yang tepat,
Anda tidak perlu menghafal semuanya, dapat diakses melalui $ this-> assert *. Anda juga
tidak perlu menggunakan semuanya. Assertion yang sering digunakan diantaranya adalah
assertArrayHasKey (), assertEquals (), assertFalse (), assertSame () and assertTrue ().

2.4. Latihan
Introduction

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan FirstTest.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;

class FirstTest extends TestCase


{
public function testTrue()
{
$foo =true;
$this->assertTrue($foo);
}
}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit FirstTest.php

17
4. Dalam file FirstTest.php, rubah nilai $foo menjadi false.

5. Jalankan kembali dalam cmd, phpunit FirstTest.php

Pengujian berkelanjutan (@depends

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan StackTest1.php dengan isi sebagai berikut

<?php
//Using the @depends annotation to express dependencies
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;

class StackTest1 extends TestCase


{
public function testEmpty()
{
$stack = [];
$this->assertEmpty($stack);
return $stack;
}

18
/**
* @depends testEmpty
*/
public function testPush(array $stack)
{
array_push($stack, 'foo');
$this->assertSame('foo', $stack[count($stack)-1]);
$this->assertNotEmpty($stack);
return $stack;
}
/**
* @depends testPush
*/
public function testPop(array $stack)
{
$this->assertSame('foo', array_pop($stack));
$this->assertEmpty($stack);
}
}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit StackTest1.php

4. Dalam file StackTest1.php, hapus @depends testEmpty (line 15).

19
5. Jalankan kembali dalam cmd, phpunit StackTest1.php

2.5. Tugas
Buatlah laporan untuk praktikum modul 2 dengan baik dan benar.

20
Praktikum 3 Menjalankan Pengujian dalam PHPUnit 2

Tujuan Pembelajaran

Pendahuluan

3.1. Latihan
Data Provider

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan DataTest.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;

class DataTest extends TestCase


{
/**
* @dataProvider additionProvider
*/
public function testAdd($a, $b, $expected)
{
$this->assertSame($expected, $a + $b);
}
public function additionProvider()
{
return [
[0, 0, 0],
[0, 1, 1],
[1, 0, 1],
[1, 1, 3]
];
}
}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

21
3. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit DataTest.php

4. Dalam file DataTest.php, rubah code dalam method additionProvider() sehingga


menjadi seperti berikut.

public function additionProvider()


{
return [
'adding zeros' => [0, 0, 0],
'zero plus one' => [0, 1, 1],
'one plus zero' => [1, 0, 1],
'one plus one' => [1, 1, 3]
];
}

5. Jalankan kembali dalam cmd, phpunit DataTest.php

22
3.2. Tugas
Buatlah pengujian untuk operasi pengurangan seperti contoh latihan diatas.

Buatlah laporan untuk praktikum modul 3 dengan baik dan benar.

23
Praktikum 4 Menjalankan Pengujian dalam PHPUnit 3

Tujuan Pembelajaran

4.1. Pendahuluan
Tabel berikut menunjukan method yang tersedia untuk digunakan dalam melakukan
pengujian output.

Method Meaning
void expectOutputRegex(string $regularExpression) Set up the expectation that the output
matches a $regularExpression.
void expectOutputString(string $expectedString) Set up the expectation that the output is
equal to an $expectedString.
bool setOutputCallback(callable $callback) Sets up a callback that is used to, for
instance, normalize the actual output.
string getActualOutput() Get the actual output.

4.2. Latihan
Testing Output

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan OutputTest.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
class OutputTest extends TestCase
{
public function testExpectFooActualFoo()
{
$this->expectOutputString('foo');
print 'foo';
}
public function testExpectBarActualBaz()
{
$this->expectOutputString('bar');
print 'baz';
}
}
?>

24
2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit OutputTest.php

4. Dalam file OutputTest.php, rubah instruksi print(“foo”) menjadi print(“four”)


yaitu pada line 9.

5. Jalankan kembali dalam cmd, phpunit OutputTest.php

25
Error Output

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan DiffTest.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
class DiffTest extends TestCase
{
public function testEquality() {
$this->assertSame(
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6]
);
}
}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit DiffTest.php

26
4. Dalam file DiffTest.php, rubah nilai dari Array yang kedua (line 9) menjadi
sebagai berikut.

public function testEquality() {


$this->assertSame(
[1, 2, 3, 4, 5, 6],
[1, 4, 2, 3, 5, 6]
);
}

5. Jalankan kembali dalam cmd, phpunit DiffTest.php

27
4.3. Tugas
Buatlah suatu class testing untuk menguji apakah tampilan yang dihasilkan
berupa “Universitas Jenderal Achmad Yani” (seperti pada latihan 1), dan satu
Array berisi susunan NIM Anda (seperti pada latihan 2), dan test pertama
menjadi dependencies untuk test berikutnya.

Buatlah laporan untuk praktikum modul 4 dengan baik dan benar.

28
Praktikum 5 Stub Test

Tujuan Pembelajaran

Pendahuluan

5.1. Latihan
Stub

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan MyClass.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;

class MyClass
{
public function MyMethod()
{
return "hello";
}
}
?>

2. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan StubTest1.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
include "MyClass.php";
class StubTest1 extends TestCase
{
public function testStub()
{
$stub = $this->createMock(MyClass::class);
$stub->method('MyMethod')->willReturn("foo");
$this->assertSame("foo", $stub->MyMethod());
}
}
?>

3. Buka CMD, kemudian arahkan directory ke bin phpunit

29
4. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit StubTest1.php

5. Dalam file StubTest1.php, terdapat method testStub() berisi instruksi berikut

public function testStub()


{
$stub = $this->createMock(MyClass::class);
$stub->method('MyMethod')->willReturn('foo');
$this->assertSame('foo', $stub->MyMethod());
}

Rubahlah instruksi tersebut menjadi sebagai berikut.

public function testStub()


{
$stub = $this->createMock(MyClass::class);
$stub->method('MyMethod')->will($this->returnArgument(0));
$this->assertSame('foo', $stub->MyMethod('foo'));
}

6. Jalankan kembali dalam cmd, phpunit StubTest1.php

5.2. Tugas
Buatlah laporan untuk praktikum modul 5 dengan baik dan benar.

30
Praktikum 6 Assertions

Tujuan Pembelajaran

Pendahuluan

6.1. Latihan 1
Testable Class

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan Testable.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
class Testable
{
public $trueProperty = true;
public $resetMe = true;

public $testArray = array(


'first key' => 1,
'second key' => 2
);

private $testString = "I do love me some strings";

public function __construct()


{
}

public function addValues($valueOne,$valueTwo) {


return $valueOne+$valueTwo;
}

public function getTestString()


{
return $this->testString;
}
}
?>

2. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan TestableTest.php dengan isi sebagai berikut

31
<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
include "Testable.php";

class TestableTest extends TestCase


{
private $_testable = null;
public function setUp()
{
$this->_testable = new Testable();
}
public function tearDown()
{
$this->_testable = null;
}
//Selanjutnya lanjutkan dari sini
}
?>

3. Buka CMD, kemudian arahkan directory ke bin phpunit

4. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit TestableTest.php

32
True or False

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan TestableTest1.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
include "Testable.php";

class TestableTest1 extends TestCase


{
private $_testable = null;
public function setUp()
{
$this->_testable = new Testable();
}
public function tearDown()
{
$this->_testable = null;
}
//True or False
public function testTruePropertyIsTrue()
{
$this->assertTrue($this->_testable->trueProperty,"trueProperty isn't
true");
}
public function testTruePropertyIsFalse()
{
$this->assertFalse($this->_testable->trueProperty, "trueProperty isn't
false");
}
}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit TestableTest1.php

33
MathMagic

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan TestableTest2.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
include "Testable.php";

class TestableTest2 extends TestCase


{
private $_testable = null;
public function setUp()
{
$this->_testable = new Testable();
}
public function tearDown()
{
$this->_testable = null;
}
//mathmagic
public function testValueEquals()
{
$valueOne = 4;
$valueTwo = 2;
$this->assertEquals($this->_testable
->addValues($valueOne,$valueTwo),6);
}
public function testValueGreaterThan()

34
{
$valueOne = 4;
$valueTwo = 2;
$this->assertGreaterThan($valueTwo,$valueOne);
}
public function testLessThanOrEqual()
{
$valueOne = 4;
$valueTwo = 2;
$this->assertLessThanOrEqual($valueTwo,$valueOne);
}
public function testAreObjectsEqual()
{
$testTwo = new Testable();
$this->_testable->resetMe = false;
$this->assertEquals($this->_testable,$testTwo);
}
}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit TestableTest2.php

35
String

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan TestableTest3.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
include "Testable.php";

class TestableTest3 extends TestCase


{
private $_testable = null;
public function setUp()
{
$this->_testable = new Testable();
}
public function tearDown()
{
$this->_testable = null;
}
public function testStringEnding()
{
$testString = $this->_testable->getTestString();
$this->assertStringEndsWith('frood',$testString);
}
public function testStringStarts()
{
$testString = $this->_testable->getTestString();
$this->assertStringStartsWith('hoopy',$testString);
}
public function testEqualFileContents()
{
$this->assertStringEqualsFile('/path/to/textfile.txt','foo');
}
public function testDoesStringMatchFormat()
{
$testString = $this->_testable->getTestString();
$this->assertStringMatchesFormat('%s',$testString);
}
public function testDoesStringFileFormat()
{
$testString = $this->_testable->getTestString();

36
$this->assertStringMatchesFormatFile('/path/to/textfie.txt','foo');
}
}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit TestableTest3.php

37
6.2. Latihan 2
Mix Test Class

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan TestableTest4.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
include "Testable.php";

class TestableTest4 extends TestCase


{
private $_testable = null;
public function setUp()
{
$this->_testable = new Testable();
}
public function tearDown()
{
$this->_testable = null;
}
public function testArrayKeyExists()
{
$this->assertArrayHasKey('first key',$this->_testable->testArray);
}
public function testAttributeExists()
{
$this->assertClassHasAttribute('resetMe',get_class($this->_testable));
}
public function testFileIsReal()
{
$this->assertFileExists('/path/to/file.txt');
}

}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit TestableTest4.php

38
assertArrayHasKey()

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan ArrayHasKeyTest.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
class ArrayHasKeyTest extends TestCase
{
public function testFailure()
{
$this->assertArrayHasKey('foo', ['bar' => 'baz']);
}
}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit ArrayHasKeyTest.php

39
assertArrayHasKey()

1. Buatlah file baru di folder bin pada phpunit yang sebelumnya telah diinstal. Beri
nama dengan ArrayHasKeyTest.php dengan isi sebagai berikut

<?php
namespace PHPUnit\Framework;
use PHPUnit\Framework\TestCase;
class ArrayHasKeyTest extends TestCase
{
public function testFailure()
{
$this->assertArrayHasKey('foo', ['bar' => 'baz']);
}
}
?>

2. Buka CMD, kemudian arahkan directory ke bin phpunit

3. Kemudian jalankan testcase dengan cara menuliskan instruksi sebagai berikut

phpunit ArrayHasKeyTest.php

40
6.3. Tugas
Buatlah laporan untuk praktikum modul 6 dengan baik dan benar.

41

Anda mungkin juga menyukai