


Editor PHP Strawberry membawakan anda artikel tentang cara memanggil fungsi "assert" daripada fungsi bukan ujian. Dalam PHP, kami biasanya menggunakan fungsi "assert" untuk menulis kes ujian, tetapi kadangkala kami mahu menggunakannya dalam fungsi bukan ujian juga. Artikel ini akan memperkenalkan secara terperinci langkah dan langkah berjaga-jaga tentang cara memanggil fungsi "assert" dalam fungsi bukan ujian untuk membantu pembaca memahami dan menggunakan fungsi ini dengan lebih baik. Sama ada anda seorang pemula atau pembangun berpengalaman, anda akan memperoleh pengetahuan dan petua yang berharga daripada artikel ini. Mari kita meneroka bersama-sama!
Kandungan soalan
Soalan ini serupa dengan penegasan dalam fungsi bukan ujian dalam Go, tetapi saya mahu memanggil assert.ElementsMatch
daripada fungsi bukan ujian.
Bagaimana untuk membuat instantiat objek testing.T
?
Fungsi akhirnya akan dipanggil daripada main
yang dikonfigurasikan dengan bendera supaya ia tidak boleh hanya menjadi ujian.
Konteks: Kami sedang melakukan pemindahan data daripada beberapa pangkalan data sumber kepada pangkalan data sasaran. Bahagian pertama migrasi adalah untuk menyalin data daripada sumber ke jadual simpan sasaran. Bahagian kedua (dan di sinilah assert.ElementsMatch
发挥作用的地方)是查看保存表和通用表有何不同 - 我们希望尝试通过数据迁移捕获不可预见的情况(例如,某些日期的格式可能不同或错误)身份证号码已复制)。第三部分是,一旦保存表数据经过审查,将其复制到通用表中。这一切听起来有点过于复杂,但这可能是因为当前正在使用源数据库和目标通用数据库。
解决方法
您不需要 testing.T
berperanan) adalah untuk melihat cara jadual yang disimpan berbeza daripada jadual generik - kami ingin cuba menangkap situasi yang tidak dijangka dengan pemindahan data (cth. beberapa tarikh mungkin diformatkan secara berbeza atau tidak betul) nombor ID disalin). Bahagian ketiga ialah, setelah data jadual simpan disemak, salinnya ke dalam jadual generik. Ini semua kedengaran agak rumit, tetapi itu mungkin kerana anda sedang menggunakan pangkalan data sumber dan pangkalan data universal sasaran.
Penyelesaianassert.ElementsMatch
函数采用 assert.TestingT
作为其参数,这是一个具有单一方法的接口。因此,您可以简单地定义该接口的自定义实现,该实现可以使用该方法执行您喜欢的任何操作,并将该自定义实现的实例传递给 assert.ElementsMatch
Anda tidak memerlukan contoh
🎜🎜 Fungsi menggunakan
assert.TestingT
Sebagai parameternya, ini ialah antara muka dengan satu kaedah. Oleh itu, anda hanya boleh mentakrifkan pelaksanaan tersuai antara muka yang boleh melakukan apa sahaja yang anda suka menggunakan kaedah tersebut dan menghantar contoh pelaksanaan tersuai itu kepada 🎜. 🎜
🎜Contohnya: 🎜
type testingT struct{} func (testingT) Errorf(format string, args ...interface{}) { fmt.Printf(format, args...) } // ... t := new(testingT) if assert.ElementsMatch(t, listA, listB) { // ... }
Atas ialah kandungan terperinci Bagaimana untuk memanggil fungsi 'menegaskan' daripada fungsi bukan ujian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Perbezaan utama antara Golang dan Python adalah model konvensional, sistem jenis, prestasi dan kelajuan pelaksanaan. 1. Golang menggunakan model CSP, yang sesuai untuk tugas serentak yang tinggi; Python bergantung pada multi-threading dan gil, yang sesuai untuk tugas I/O-intensif. 2. Golang adalah jenis statik, dan Python adalah jenis dinamik. 3. Golang mengumpulkan kelajuan pelaksanaan bahasa adalah cepat, dan pembangunan bahasa yang ditafsirkan Python adalah pantas.

Golang biasanya lebih perlahan daripada C, tetapi Golang mempunyai lebih banyak kelebihan dalam pengaturcaraan serentak dan kecekapan pembangunan: 1) Koleksi sampah Golang dan model konkurensi menjadikannya berfungsi dengan baik dalam senario konvensyen yang tinggi; 2) C memperoleh prestasi yang lebih tinggi melalui pengurusan memori manual dan pengoptimuman perkakasan, tetapi mempunyai kerumitan pembangunan yang lebih tinggi.

Golang digunakan secara meluas dalam pengkomputeran awan dan devOps, dan kelebihannya terletak pada kesederhanaan, kecekapan dan keupayaan pengaturcaraan serentak. 1) Dalam pengkomputeran awan, Golang dengan cekap mengendalikan permintaan serentak melalui mekanisme goroutine dan saluran. 2) Di DevOps, kompilasi cepat Golang dan ciri-ciri silang platform menjadikannya pilihan pertama untuk alat automasi.

Golang dan C masing -masing mempunyai kelebihan sendiri dalam kecekapan prestasi. 1) Golang meningkatkan kecekapan melalui pengumpulan goroutine dan sampah, tetapi boleh memperkenalkan masa jeda. 2) C menyedari prestasi tinggi melalui pengurusan memori manual dan pengoptimuman, tetapi pemaju perlu menangani kebocoran memori dan isu -isu lain. Apabila memilih, anda perlu mempertimbangkan keperluan projek dan timbunan teknologi pasukan.

Golang lebih sesuai untuk tugas -tugas kesesuaian yang tinggi, sementara Python mempunyai lebih banyak kelebihan dalam fleksibiliti. 1.Golang dengan cekap mengendalikan kesesuaian melalui goroutine dan saluran. 2. Pilihannya harus berdasarkan keperluan khusus.

Perbezaan prestasi antara Golang dan C terutamanya ditunjukkan dalam pengurusan ingatan, pengoptimuman kompilasi dan kecekapan runtime. 1) Mekanisme pengumpulan sampah Golang adalah mudah tetapi boleh menjejaskan prestasi, 2) Pengurusan memori manual C dan pengoptimuman pengkompil lebih cekap dalam pengkomputeran rekursif.

PilihgolangforhighperformanceandConcurrency, IdealForBackEndServicesandnetworkprogramming; SelectPythonForrapidDevelopment, datascience, danMachinelearningDuetoitSversativilityAndextiveLibraries.

Golang dan Python masing -masing mempunyai kelebihan mereka sendiri: Golang sesuai untuk prestasi tinggi dan pengaturcaraan serentak, sementara Python sesuai untuk sains data dan pembangunan web. Golang terkenal dengan model keserasiannya dan prestasi yang cekap, sementara Python terkenal dengan sintaks ringkas dan ekosistem perpustakaan yang kaya.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa