Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Menggunakan Faker untuk Menghasilkan Data Pengisi untuk Pengujian Otomatis

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Building Your Startup With PHP.
Building Your Startup: Approaching Major Feature Enhancements
How to Build a User Tour With Shepherd in JavaScript

Indonesian (Bahasa Indonesia) translation by ⚡ Rova Rindrata (you can also view the original English article)

Final product image
What You'll Be Creating

Faker adalah pustaka open-source yang dibuat oleh Francois Zaninotto yang menghasilkan data pengisi buatan untuk aplikasi Anda dan kebutuhan pengujiannya.

Faker dapat digunakan dalam aplikasi PHP biasa, framework seperti Yii atau Laravel, atau di dalam pustaka pengujian seperti yang kami singgung dengan Codeception di tutorial Envato Tuts+ sebelumnya.

Dalam tutorial hari ini, saya akan meninjau instalasi dasar dan penggunaan Faker beserta kemampuannya. Seperti yang dikatakan Zaninotto:

"Apakah Anda perlu melakukan bootstrap database Anda, membuat dokumen XML yang bagus, mengisi ketekunan Anda untuk pengujian stres, atau menganonimkan data yang diambil dari layanan produksi, Faker adalah untuk Anda."

Dan, secara keseluruhan, ini memberikan berbagai kemampuan sederhana yang berguna untuk setiap cara pengujian.

Sedikit pengingat sebelum kita memulai, saya juga ikut serta dalam thread komentar di bawah ini. Saya sangat tertarik jika Anda memiliki pemikiran tambahan atau ingin menyarankan topik untuk tutorial di masa depan. Jika ada pertanyaan atau saran topik, silahkan posting di bawah ini. Anda juga bisa menghubungi saya di Twitter @reifman secara langsung.

Memulai

Menginstal Faker

Saya mulai dengan membuat pohon kode baru dan menambahkan fzaninotto/faker ke composer.json di bawah ini:

Kemudian, saya memperbarui composer:

Faker is installed into the vendor directory. Jadi, kemudian saya memuat di bagian atas file index.php:

Selanjutnya, saya ingin mencoba beberapa skenario contoh sederhana dari menghasilkan data.

Contoh sederhana

Saya memperluas contoh Faker sebagai berikut dan menjalankannya dari http://localhost:8888/faker:

Dengan refresh cepat, saya disajikan dengan berbagai hasil seperti:

Dan:

Dan:

Faker memberikan janjinya.

Penyedia Default Faker

Semua metode penghasil data di Faker dibuat dari implementasi penyedia layanan. Inilah kode yang mendaftarkan penyedia default Faker—ini dilakukan untuk Anda:

Jadi di atas, ketika saya meminta address dari Faker, ia mencari semua penyedia metode yang sesuai, akhirnya menggunakan penyedia Address().

Anda juga dapat menulis penyedia layanan Anda sendiri atau menjelajah sejumlah ekstensi untuk Faker yang tersedia di web.

Pengubah

Faker juga menawarkan pengubah khusus untuk membantu pengujian Anda, seperti unique(), optional(), atau valid(). Misalnya, Anda bisa menghasilkan angka unik:

Berikut adalah output dari nilai-nilai unik:

Jika Anda menggunakan metode optional(), beberapa nomor akan dikembalikan sebagai NULL seolah-olah pengguna tidak memasukkan field pada formulir Anda. Catatan: Saya tidak dapat menerapkan metode ini dengan benar.

Dengan valid(), Anda dapat mendaftarkan fungsi yang menentukan apakah data pengisi memenuhi persyaratan tertentu atau akan mengembalikan kesalahan atau menghasilkan pesan kesalahan pada form pengguna.

Menjelajahi Para Penyedia

Faker menawarkan serangkaian metode untuk menghasilkan data acak untuk aplikasi Anda:

  • Base: metode sederhana untuk huruf acak, angka, string yang diproses dan regex
  • Lorem Ipsum Text: teks Latin acak
  • Person: nama orang
  • Address: alamat surat-menyurat
  • Phone Number: nomor telepon
  • Company: nama perusahaan
  • Real Text: teks aktual yang ditulis oleh manusia vs string Latin yang tidak bermakna
  • Date and Time: tanggal dan waktu acak
  • Internet: email, domain, dll.
  • User Agent: string browser
  • Payment: kartu kredit dan string dan nomor SWIFT
  • Color: warna acak
  • File: ekstensi file, jenis file, dan nama file
  • Image: URL gambar pengisi dari berbagai jenis
  • Uuid: ID unik
  • Barcode: berbagai jenis barcode, mis. ISBN13
  • Miscellaneous: kode enkripsi, kode negara, dll.
  • Bias: bilangan acak dengan bias

Mari bereksperimen dengan beberapa dari metode ini.

Informasi Pembayaran

Kode di bawah ini menghasilkan sepuluh orang, informasi kartu kredit dan kode keamanan mereka:

Berikut adalah beberapa output dari kode diatas:

Using Faker Generating Payment or Credit Card details

Gambar

Using Faker Images

Berikut adalah contoh sederhana dari pembuatan gambar:

Tapi Anda juga bisa menghasilkan kucing:

Using Faker Images of Cats

Ini mungkin kemampuan menghasilkan kucing yang menaklukkan saya. Saya tidak sabar menunggu pencetakan tiga dimensi dan aktivasi jiwa untuk bekerja dengan hal seperti ini.

Data Internasionalisasi

Dengan kode di bawah ini, saya membuat sebuah tabel dengan empat kolom nama dari Prancis, Rusia, Amerika, dan China:

Inilah hasilnya:

Using Faker International Capability - Tables of names from four countries

Membuat Alamat Email Palsu

Berikut contoh kode untuk menghasilkan 25 alamat email palsu dari penyedia layanan gratis seperti Gmail dan Yahoo:

Inilah hasil keluarannya:

Using Faker - 25 Free Email Addresses

Menghasilkan Dokumen XML

Faker menawarkan contoh bermanfaat untuk menghasilkan XML; namun, ini mengharuskan Anda bekerja dengan framework dan memiliki arsitektur tampilan:

Kesimpulannya

Saya harap ini merupakan pengenalan dasar bagi Anda untuk Faker, sebuah pustaka PHP open-source yang sangat berguna.

Jika Anda ingin membaca lebih lanjut, saya sarankan Konten Pengisi: Alat, Tip dan Contoh yang Dinamis (Envato Tuts+) dari Jim Nielsen, yang menyediakan perancang aplikasi untuk menghasilkan data. Dia menyarankan agar Anda bisa lebih efektif saat menerapkan data palsu untuk menciptakan pengalaman yang lebih realistis selama proses perancangan Anda.

Jika Anda ingin mengetahui saat tutorial Envato Tuts+ berikutnya tiba, ikuti saya @reifman di Twitter atau periksa halaman instruktur saya. Saat ini, saya sedang mengerjakan dua seri yang mungkin Anda dapat menghargainya:

  1. Seri Pemrograman Dengan Yii2
  2. Membangun Startup Anda dengan PHP tentang Meeting Planner; jadwalkan pertemuan pertama Anda di sana hari ini.

Link Terkait

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.