Dalam domain dinamik pembangunan perisian, memastikan kualiti aplikasi melalui ujian automatik adalah penting. Ujian automatik melibatkan menjalankan banyak ujian yang memerlukan persediaan khusus fail dan direktori. Menyediakan dan meruntuhkan persekitaran ujian dengan cekap ialah bahagian penting dalam proses ini yang selalunya boleh menjadi tugas yang membosankan dan mudah ralat tanpa alat yang betul.
Mencari alatan yang betul untuk memudahkan tugasan boleh membuat perbezaan yang besar. Modul utiliti standard yang dikenali sebagai shutil ialah singkatan untuk utiliti shell. Ia menyediakan operasi fail peringkat tinggi untuk menyalin, mengalih dan mengalih keluar fail dan direktori yang boleh memudahkan pengurusan persekitaran ujian. Blog ini menerangkan cara modul shutil boleh menyelaraskan operasi fail dalam ujian perisian automatik.
Untuk memastikan setiap ujian bermula dengan persekitaran yang betul, kami perlu mengautomasikan proses persediaan, mewujudkan persekitaran ujian yang konsisten dan terpencil.
Modul Shutil adalah sebahagian daripada Pustaka Standard Python, jadi kami tidak perlu memasang apa-apa tambahan. Hanya importnya pada permulaan skrip anda.
# Import shell utility module import shutil
Semasa menguji aplikasi, kami sering memerlukan set fail data tertentu. Daripada menyalin fail secara manual, empat kaedah biasa menyediakan cara yang mudah dan cekap untuk menyalin fail menggunakan modul shutil.
shutil.copy(source, destination, *, follow_symlinks=True)
Kaedah ini menyalin fail sumber ke direktori atau fail yang ditentukan dalam destinasi dan mengembalikan destinasi fail. Ia menyalin data fail dan mod kebenaran fail tetapi metadata (masa penciptaan dan pengubahsuaian fail) bagi fail yang disalin tidak disimpan. Sumber dan destinasi mestilah objek atau rentetan seperti laluan. Destinasi boleh menentukan kedua-dua fail atau direktori. Jika destinasi menentukan laluan ke direktori, fail akan disalin ke direktori destinasi dengan nama fail laluan sumber.
Semasa bekerja dengan pautan simbolik:
Jika follow_symlinks=Benar, destinasi akan menjadi salinan fail yang dituju oleh pautan simbolik dalam sumber. Nilai lalai parameter follow_symlinks ialah Benar.
Jika follow_symlinks=Salah, destinasi akan dibuat sebagai pautan simbolik.
# Import shell utility module import shutil # Copy the content of source_file.txt to destination_file.txt shutil.copy('source_file.txt', 'destination_file.txt')
shutil.copy2(source, destination, *, follow_symlinks=True)
Kaedah shutil.copy2() menyediakan fungsi tambahan untuk mengekalkan semua metadata fail yang boleh dilakukan. Ciri-ciri lain adalah sama seperti kaedah shutil.copy(). Destinasi boleh menentukan kedua-dua fail atau direktori. Jika destinasi ialah direktori, fail akan disalin dengan nama yang sama dengan nama fail sumber.
# Import shell utility module import shutil # Copy the content of source_file.txt to destination_file.txt shutil.copy2('source_file.txt', 'destination_file.txt')
Saya menggunakan kaedah ini semasa mengautomasikan ujian kerana ia menyalin kandungan fail bersama-sama dengan kebanyakan metadata yang berkaitan supaya kami boleh mencapai hasil yang sama secara pemrograman seperti menyalin dan menampal fail menggunakan pintasan papan kekunci dalam pengurus fail grafik dan ia juga rapat mereplikasi gelagat operasi salin dan tampal biasa menggunakan tetikus dalam pengurus fail grafik.
shutil.copyfile(source, destination, *, follow_symlinks=True)
Menggunakan kaedah ini, kandungan fail disalin daripada sumbernya ke destinasinya tanpa metadata. Sumber dan destinasi mestilah objek atau rentetan seperti laluan. Laluan destinasi hanya boleh menentukan laluan ke fail tetapi tidak boleh menentukan laluan ke direktori.
# Import shell utility module import shutil # Copy the content of source_file.txt to destination_file.txt shutil.copyfile('source_file.txt', 'destination_file.txt')
shutil.copyfileobj(fsrc, fdst, length)
Kaedah ini menyalin kandungan objek fail sumber ke objek fail destinasi. Sumber dan destinasi mestilah objek seperti fail. Ia tidak mengekalkan metadata dan tidak mengembalikan sebarang nilai. Parameter panjang pilihan menentukan nilai integer untuk saiz penimbal.
# Import shell utility module import shutil # Create file objects source_file_object = open("../hello.txt", "r") destination_file_object = open("CopyFile/copyFalseSrcPath.txt", "w") # Copy the content of the file object to another file object shutil.copyfileobj(source_file_object, destination_file_object)
Setiap kaedah menyediakan aspek operasi fail yang berbeza, memberikan fleksibiliti dan kuasa untuk memenuhi pelbagai keperluan ujian. Modul shutil Python menawarkan alat penting untuk operasi fail yang cekap dalam ujian perisian:
Beberapa fungsi utiliti lain yang biasa digunakan yang boleh membantu semasa mengautomasikan ujian kami ialah:
Lebih banyak fungsi utiliti dan penerangan terperinci boleh didapati dalam dokumentasi rasmi.
Modul shutil dalam Python berfungsi sebagai set alat serba boleh bukan sahaja dalam ujian perisian tetapi juga merentasi pelbagai bidang pembangunan perisian seperti kawalan versi dan penggunaan, sains data dan pembelajaran mesin, IT dan pentadbiran sistem, penyelidikan dan akademik, dan banyak lagi. lagi.
Mengintegrasikan shutil ke dalam proses ujian kami, kami boleh melaksanakan operasi fail yang kompleks dengan kod minimum, menjimatkan masa dan usaha kami serta membolehkan kami menumpukan pada pembangunan perisian berkualiti tinggi.
Atas ialah kandungan terperinci Modul shutil Python untuk Ujian Automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!