Rumah > pembangunan bahagian belakang > tutorial php > Menggunakan Faker untuk menjana data pengisi untuk ujian automatik

Menggunakan Faker untuk menjana data pengisi untuk ujian automatik

Christopher Nolan
Lepaskan: 2025-02-26 11:47:17
asal
628 orang telah melayarinya

Using Faker to Generate Filler Data for Automated Testing

Pembangunan banyak laman web dan aplikasi memerlukan pelbagai jenis data untuk mensimulasikan bagaimana kehidupan sebenar berfungsi. Semasa peringkat ujian dan pembangunan sesuatu projek, kami sering menggunakan data palsu untuk mengisi pangkalan data, elemen UI, dan sebagainya.

Menulis kod anda sendiri untuk menghasilkan data palsu untuk projek anda boleh menjadi sangat rumit. Dalam tutorial ini, anda akan belajar bagaimana untuk menghasilkan data palsu menggunakan perpustakaan Faker yang terbukti di PHP.

pemula

Saya ingin menjelaskan beberapa mata sebelum meneruskan.

Perpustakaan palsu asal adalah fzaninotto/faker. Walau bagaimanapun, ia diarkibkan oleh pemilik pada 11 Disember 2020. Sekarang, cawangan perpustakaan yang dipanggil Fakerphp/Faker meneruskan kerja pembangunannya. Jika anda cuba memutuskan mana yang harus anda gunakan dalam projek anda, pilih FakerPhp.

Faker dari Fakerphp memerlukan versi PHP anda lebih besar daripada atau sama dengan 7.4. Ini berbeza dengan php> = 5.3.3 yang disokong oleh perpustakaan asal.

dari sekarang, semua rujukan kepada Faker dalam tutorial ini akan merujuk kepada versi cawangan yang lebih baru.

anda boleh memasang Faker menggunakan komposer dengan menjalankan arahan berikut:

<code>composer require fakerphp/faker</code>
Salin selepas log masuk
Salin selepas log masuk
Ini akan membuat fail composer.json

untuk anda dan pasang semua pakej yang diperlukan dalam direktori vendor . Selepas pemasangan selesai, anda boleh mula menggunakan perpustakaan dalam projek anda dengan menambahkan kedua -dua baris ini ke kod anda:

Baris pertama termasuk perpustakaan Faker dalam projek kami.
require 'vendor/autoload.php';
$faker = Faker\Factory::create();
Salin selepas log masuk
Salin selepas log masuk

Di baris kedua, kita memulakan penjana Faker menggunakan panggilan ke kelas kilang statik contoh penjana, yang boleh kita gunakan untuk menghasilkan pelbagai data palsu.

menghasilkan nama palsu, alamat dan nombor telefon

Objek penyedia digunakan untuk menjana data rawak. Panggilan kepada contoh penjana yang kami bundel dengan pembekal lalai.

Penyedia lalai menjana nama, alamat, nombor telefon, butiran syarikat, dan lain -lain berdasarkan Amerika Syarikat. Panggilan ini menambah penyedia di latar belakang:

Anda boleh menjana nama palsu di Faker dengan hanya memanggil atribut nama. Setiap panggilan akan mengeluarkan nama rawak yang berbeza. Berikut adalah contoh:
$faker = new Faker\Generator();
$faker->addProvider(new Faker\Provider\en_US\Person($faker));
$faker->addProvider(new Faker\Provider\en_US\Address($faker));
$faker->addProvider(new Faker\Provider\en_US\PhoneNumber($faker));
$faker->addProvider(new Faker\Provider\en_US\Company($faker));
$faker->addProvider(new Faker\Provider\Lorem($faker));
$faker->addProvider(new Faker\Provider\Internet($faker));
Salin selepas log masuk

Jika anda tidak berminat dengan nama penuh anda, anda juga boleh meminta hanya nama pertama atau terakhir anda.
require 'vendor/autoload.php';
$faker = Faker\Factory::create();

$fake_names = [];
for($i = 0; $i < 10; $i++){
    $fake_names[] = $faker->name;
}

/*
Array
(
    [0] => Gabe Mann Jr.
    [1] => Lazaro Leuschke
    [2] => Angie Welch Sr.
    [3] => Prof. Kirk Krajcik III
    [4] => Sadye Mosciski
    [5] => Danyka Braun
    [6] => Jacinthe Dickinson
    [7] => Clifton Beahan
    [8] => Dr. Jan Casper MD
    [9] => Adelia Schimmel
)
*/
print_r($fake_names);
Salin selepas log masuk

Katakan anda hanya memerlukan nama lelaki atau perempuan. Dalam kes ini, anda hanya boleh menghubungi kaedah firstNamemale () dan alamat () atau akses phonenumber (), phonenumberWithextension ().
require 'vendor/autoload.php';
$faker = Faker\Factory::create();

$first_names = [];
for($i = 0; $i < 10; $i++){
    $first_names[] = $faker->firstName;
}

// Outputs: Dylan, Ariane, Doris, Reilly, Jamar, Merl, Maverick, Frederik, Lucius, Madyson
echo implode(', ', $first_names);
Salin selepas log masuk

menghasilkan butiran palsu khusus untuk tetapan locale
require 'vendor/autoload.php';
$faker = Faker\Factory::create();

/*
Phone Number: +1-724-494-3101
Phone Number (Extension): (475) 499-3999 x9969
Phone Number (Toll Free): 855.618.0155

Phone Number: 1-660-934-8668
Phone Number (Extension): 351-533-3301 x1602
Phone Number (Toll Free): 844-530-4671
*/
for($i = 0; $i < 2; $i++){
    echo "Phone Number: ".$faker->phoneNumber()."\n";
    echo "Phone Number (Extension): ".$faker->phoneNumberWithExtension()."\n";
    echo "Phone Number (Toll Free): ".$faker->tollFreePhoneNumber()."\n\n";
}
Salin selepas log masuk

Katakan anda sedang membangunkan aplikasi yang disasarkan di rantau tertentu. Dalam kes ini, anda mungkin mahu menggunakan data yang mencerminkan pasaran sasaran. Sebagai contoh, permohonan untuk orang Nigeria akan mendapat manfaat daripada memiliki nama Nigeria. Begitu juga, aplikasi untuk pengguna India mungkin ingin menggunakan alamat India.

Trik untuk menjana data khusus locale adalah untuk lulus lokasi ke kaedah RandomNumber (), yang secara lalai menghasilkan nombor rawak dengan bilangan digit yang ditentukan. Anda boleh lulus kaedah UnixTime () untuk mendapatkan nilai timestamp Unix antara 0 dan masa semasa atau masa yang ditentukan. Kaedah rawak () rawak juga boleh dijana. Sekali lagi, maksimum lalai ialah tarikh dan masa semasa.

Jika anda ingin menjana kaedah DateTimead (), ia mengembalikan tarikh antara 1 Januari, 1, dan nilai maksimum yang diberikan.

Anda boleh menggunakan kaedah masa () untuk menjana tarikh dan masa rawak dalam format tertentu.

Katakan anda perlu mendapatkan kaedah DateTimebetween ().

<code>composer require fakerphp/faker</code>
Salin selepas log masuk
Salin selepas log masuk

menghasilkan tag menggunakan data palsu

Sekarang kita tahu cara menggunakan Faker untuk menghasilkan pelbagai jenis nilai angka, kita boleh menggabungkan hasilnya untuk membuat dokumen XML atau HTML, mengisi pangkalan data dengan nilai angka, dan sebagainya. Sebagai contoh, pertimbangkan kod berikut, yang menghasilkan fail konfigurasi rawak untuk orang yang berbeza.

require 'vendor/autoload.php';
$faker = Faker\Factory::create();
Salin selepas log masuk
Salin selepas log masuk

Selepas menghasilkan nilai rawak, anda boleh melakukan apa sahaja kepada mereka. Dalam kes ini, kami mengeluarkannya di kelas asas untuk menghasilkan jenis data yang kami mahukan. Jika anda mencari perpustakaan yang menjana data rawak, Faker pasti patut dicuba.

Atas ialah kandungan terperinci Menggunakan Faker untuk menjana data pengisi untuk ujian automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan