Jadual Kandungan
Perisian
Undang-undang perubahan berterusan
Pemfaktoran
Contoh daripada Go
Kefungsian ujian dan bukannya butiran pelaksanaan
Menulis ujian unit yang berkesan ialah perkara reka bentuk
Adakah ujian unit ini
Menggabungkan konsep ini
Pemfaktoran semula
Ujian unit
Unit (Reka bentuk yang baik)
Mengapa Pembangunan pandu uji (TDD)
Langkah kecil
Pengakhiran yang memuaskan
Rumah pembangunan bahagian belakang Golang Mengapa ujian unit? Bagaimana untuk menjalankan ujian?

Mengapa ujian unit? Bagaimana untuk menjalankan ujian?

Oct 10, 2022 pm 07:19 PM
go golang

Mengapa ujian unit? Bagaimana untuk menjalankan ujian?

Berikut ialah pautan kepada video saya bercakap tentang topik ini

Jika anda tidak menyukai video, berikut ialah versi panjang lebar.

Perisian

Perisian boleh ditukar. Inilah sebabnya ia dipanggil "perisian". Keplastikannya lebih kuat daripada perkakasan. Pasukan jurutera yang hebat harus menjadi aset yang menakjubkan kepada syarikat, menulis sistem yang terus menambah nilai apabila perniagaan berkembang.

Jadi mengapa kita begitu teruk dalam hal ini? Berapa banyak projek yang pernah anda dengar tentang yang gagal sepenuhnya? Atau ia menjadi "warisan" dan mesti ditulis semula sepenuhnya (penulisan semula biasanya gagal juga!)

Bagaimana sistem perisian "gagal"? Tidak bolehkah ia diubah suai sebelum betul? Ini janji kami!

Ramai orang memilih untuk membina sistem dalam Go kerana ia telah membuat banyak pilihan yang diharapkan orang akan menjadikannya lebih sah. [Cadangan berkaitan: Pergi tutorial video]

  • Berbanding dengan kerjaya Scala saya sebelum iniSaya menyifatkannya sebagai membuatkan anda mempunyai keinginan untuk menggantung diri , Go hanya mempunyai 25 kata kunci dan banyak sistem yang boleh dibina daripada perpustakaan standard dan beberapa perpustakaan kecil lain. Visinya ialah dengan Go anda boleh menulis kod dan melihatnya semula dalam masa 6 bulan dan ia masih akan masuk akal.

  • Alat untuk ujian, penanda aras, penghuraian semantik dan pemuatan adalah yang terbaik berbanding kebanyakan alternatif.

  • Perpustakaan standard yang hebat.

  • Gelung maklum balas yang ketat menjadikan kompilasi sangat pantas

  • Go mempunyai komitmen keserasian ke belakang. Nampaknya Go akan mendapat generik dan ciri lain pada masa hadapan, tetapi pereka bentuk telah berjanji bahawa walaupun kod Go yang anda tulis 5 tahun lalu masih akan dibina. Saya telah menghabiskan beberapa minggu menaik taraf projek saya daripada Scala 2.8 kepada 2.10.

Walaupun dengan semua sifat hebat ini, kami masih boleh membuat sistem yang tidak baik, jadi kami harus mengkaji semula kejuruteraan perisian yang lalu tanpa mengira sama ada bahasa yang anda gunakan bagus atau tidak dan memahaminya pelajaran yang dipelajari.

Pada tahun 1974, seorang jurutera perisian pintar bernama [Manny Lehman](https://en.wikipedia.org/wiki/Manny_Lehman...) menulis Dimuat turun Evolusi Perisian Lehman Undang-undang.

Undang-undang ini menerangkan keseimbangan antara kuasa yang memacu perkembangan baharu dan kuasa yang menghalang kemajuan.

Ini adalah kuasa yang perlu kita fahami jika kita tidak mahu sistem yang kita bangunkan menjadi warisan dan ditulis semula berulang kali.

Undang-undang perubahan berterusan

Sistem perisian yang digunakan dalam kehidupan sebenar mesti sentiasa berubah, jika tidak, ia akan dihapuskan oleh persekitaran umum

Jelas sekali, satu sistem mesti terus berubah, jika tidak, ia akan menjadi semakin tidak berguna, tetapi mengapa keadaan ini sering diabaikan? menghantar projek mengikut tarikh yang ditentukan, dan kemudian mereka meneruskan ke projek seterusnya. Sekiranya perisian itu "bertuah", sekurang-kurangnya ia akan diserahkan dalam beberapa bentuk kepada kumpulan orang lain untuk mengekalkannya, tetapi mereka pastinya tidak akan terus mengulanginya.

Orang ramai sering bimbang dengan memilih rangka kerja untuk membantu mereka "menyampaikan dengan cepat" daripada menumpukan pada ketekunan sistem.

Walaupun anda seorang jurutera perisian yang hebat, anda masih boleh menjadi mangsa kerana tidak memahami keperluan masa depan sistem anda. Apabila perniagaan anda berubah, kod hebat yang anda tulis mungkin tidak lagi berkaitan.

Lehman sangat berjaya pada tahun 1970-an kerana dia memberi kami satu lagi peraturan yang patut difikirkan.

Hukum peningkatan kerumitan

Apabila sistem berkembang, kerumitan sistem akan terus meningkat melainkan langkah diambil untuk mengurangkan peningkatan dalam sistem kerumitan.

Apa yang dia ingin katakan sekarang ialah: Kami tidak boleh membiarkan pasukan perisian menjadi kilang fungsi tulen, hanya dengan menumpukan lebih banyak fungsi pada perisian supaya sistem boleh terus berjalan untuk masa yang lama.

Apabila landskap pengetahuan kami berubah, kami

mesti

terus mengurus kerumitan sistem kami.

Refactoring

Pembangunan perisian boleh mengekalkan keplastikan perisian dalam

banyak

aspek, seperti:

    Keizinan Pembangun
  • Secara amnya kod "baik". Fokus pada pemisahan kod yang munasabah, dsb.
  • Keupayaan komunikasi
  • Senibina
  • Kebolehcerap
  • Kebolehlaksanaan
  • Ujian automatik
  • Gelung tertutup
  • Saya akan fokus pada pemfaktoran semula. Pandangan biasa yang didengar daripada pembangun pada hari pertama pengaturcaraan mereka ialah "kita perlu memfaktorkan semula ini".

Ayat ini berasal dari dan? Bagaimanakah pemfaktoran semula berbeza daripada menulis kod?

Saya tahu saya dan ramai lagi berfikir bahawa kami sedang memfaktorkan semula, tetapi kami silap.

Martin Fowler menerangkan cara orang membuat kesilapan

Walau bagaimanapun, "pemfaktoran semula" sering digunakan di tempat yang tidak sesuai. Jika seseorang membincangkan sistem yang tidak berfungsi selama beberapa hari semasa mereka memfaktorkan semula, anda boleh pastikan mereka tidak memfaktorkan semula.

Apa itu?

Pemfaktoran

Apabila anda belajar matematik di sekolah, anda mungkin belajar tentang pemfaktoran. Berikut ialah contoh pengiraan

yang sangat mudah 1/2 1/4

Untuk melakukan ini, faktorkan penyebut menjadi , menukar ungkapan menjadi

2/4 1/4 Anda boleh mengubahnya menjadi 3/4.

Kita boleh belajar beberapa pengajaran penting daripada ini. Apabila kita menguraikan ungkapan , kita tidak mengubah maksud ungkapan . Kedua-duanya sama dengan 3/4, tetapi tugas kami menjadi lebih mudah dengan menukar 1/2 kepada 2/4; ia lebih sesuai dengan "domain" kami.

Apabila anda memfaktorkan semula kod anda, anda harus cuba mencari cara untuk menjadikan kod anda lebih mudah difahami sambil "memastikan" keperluan sistem semasa anda. Kuncinya ialah bahawa anda tidak seharusnya mengubah tingkah laku asal kod

Contoh daripada Go

Kaedah berikut menggunakan Salam languagename

func Hello(name, language string) string {
    if language == "es" {
        return "Hola, " + name
    }

    if language == "fr" {

        return "Bonjour, " + name

    }

    // 想象一下更多的语言

    return "Hello, " + name

}
Salin selepas log masuk
Rasa tidak selesa jika terdapat berpuluh-puluh

kenyataan, dan kita perlu berulang kali menggunakan if khusus untuk mengiringi language salam ,. Jadi mari kita refactor kod. name

func Hello(name, language string) string {
      return fmt.Sprintf(
          "%s, %s",
          greeting(language),
          name,
      )
}

var greetings = map[string]string {
  es: "Hola",
  fr: "Bonjour",
  //等等...
}

func greeting(language string) string {
  greeting, exists := greetings[language]

  if exists {
     return greeting
  }

  return "Hello"
}
Salin selepas log masuk
Sebenarnya sifat refactoring ini tidak penting, yang penting kita tidak mengubah tingkah laku kod tersebut.

Apabila memfaktorkan semula, anda boleh melakukan apa sahaja yang anda suka, menambah antara muka, jenis baharu, fungsi, kaedah, dsb. Satu-satunya peraturan ialah anda tidak boleh mengubah tingkah laku kod.

Jangan tukar kefungsian semasa memfaktorkan semula kod

Ini sangat penting. Jika anda menukar fungsi semasa pemfaktoran semula, anda sedang melakukan

dua perkara pada masa yang sama. Sebagai jurutera perisian, kita harus belajar untuk memisahkan sistem kepada fail/pakej/fungsi/dll yang berbeza kerana kita tahu bahawa cuba memahami sebahagian besar sesuatu adalah sukar.

Kita tidak seharusnya memikirkan banyak perkara sekaligus kerana itu akan membuatkan kita melakukan kesilapan. Saya telah menyaksikan banyak usaha pemfaktoran semula gagal kerana pembangun menggigit lebih daripada yang mereka boleh kunyah.

Semasa saya memfaktorkan dengan pen dan kertas dalam kelas matematik, saya terpaksa menyemak secara manual sama ada saya telah menukar maksud ungkapan di kepala saya. Apabila kita memfaktorkan semula kod, terutamanya pada sistem kritikal, bagaimana kita tahu jika kita telah menukar fungsi

Mereka yang memilih untuk tidak menulis ujian sering bergantung pada ujian manual. Melainkan ia adalah projek kecil, ini akan menjadi masa yang besar dan tidak kondusif untuk pengembangan sistem masa depan dalam jangka masa panjang.

Untuk memfaktor semula dengan selamat, anda memerlukan ujian unit kerana ia menyediakan

  • untuk memfaktorkan semula kod tanpa perlu risau tentang perubahan fungsi

  • Membantu pembangun menulis dokumentasi tentang cara sistem harus dijalankan

  • Maklum balas yang lebih pantas dan lebih dipercayai daripada ujian manual

Satu contoh dalam Go

Kami mempunyai ujian unit untuk kaedah

seperti ini:Hello

func TestHello(t *testing.T) {

    got := Hello("Chris", es)

    want := "Hola, Chris"

    if got != want {

        t.Errorf("got %q want %q", got, want)

    }

}
Salin selepas log masuk
Dalam baris arahan, kami boleh menjalankan

, dan anda boleh mendapatkan maklum balas segera tentang sama ada kerja pemfaktoran semula kami menjejaskan operasi program asal. Sebenarnya, lebih baik belajar menjalankan ujian dalam editor/IDE. go test

Anda ingin mendapatkan status berjalan program anda

  • Pemfaktoran semula kecil

  • Jalankan ujian

  • Ulang

Semuanya dalam gelung maklum balas yang sangat ketat supaya anda tidak melakukan kesilapan.

Mempunyai projek di mana semua gelagat utama anda diuji unit dan diberi maklum balas dalam masa sesaat adalah jaringan keselamatan yang sangat berkuasa untuk membuat keputusan yang berani apabila anda perlu Refactor. Ini membantu kami menguruskan kerumitan yang semakin meningkat yang diterangkan oleh Lehman.

Ujian unit sangat hebat, kenapa kadangkala ada rintangan untuk menulisnya?

Di satu pihak, ada mereka (seperti saya) yang mengatakan ujian unit adalah penting untuk kesihatan jangka panjang sistem anda kerana ia memastikan anda boleh meneruskan pemfaktoran semula dengan yakin.

Sebaliknya, ada yang mengatakan bahawa ujian unit sebenarnya

menghalang pemfaktoran semula.

Tanya diri anda, berapa kerap anda perlu menukar ujian semasa pemfaktoran semula? Saya telah terlibat dalam banyak projek selama bertahun-tahun yang mempunyai liputan ujian yang sangat tinggi, tetapi jurutera enggan memfaktorkan semula kerana mereka fikir menukar ujian itu akan menyusahkan.

Ini bertentangan dengan janji kami!

Kenapa ni?

Andaikata anda diminta melukis segi empat sama, kami fikir cara terbaik ialah melekatkan dua segi tiga.

Dua segi tiga tegak membentuk segi empat sama

Kami menulis ujian unit di sekeliling segi empat sama untuk memastikan kedua-dua belah adalah sama dan kemudian kami menulis beberapa ujian di sekeliling segi tiga. Kami ingin memastikan segitiga kami diberikan dengan betul supaya kami menegaskan bahawa jumlah sudut ialah 180 darjah, kami melakukan dua ujian untuk menyemak, dsb. Liputan ujian adalah sangat penting dan menulis ujian ini sangat mudah, mengapa tidak

Beberapa minggu kemudian perubahan undang-undang melanda sistem kami dan pembangun baharu membuat beberapa perubahan. Dia kini berfikir bahawa adalah lebih baik untuk membuat segi empat sama daripada dua segi empat tepat daripada dua segi tiga.

Dua segi empat tepat membentuk segi empat sama

Dia mencuba pemfaktoran semula ini dan mendapat beberapa petunjuk daripada beberapa ujian yang gagal. Adakah dia benar-benar memecahkan fungsi penting kod itu? Dia kini mesti mendalami ujian segitiga ini dan cuba memahami apa sebenarnya yang berlaku di dalamnya.

Sebenarnya tidak penting bahawa segi empat sama terdiri daripada segi tiga, tetapi ujian kami tersilap meningkatkan kepentingan butiran pelaksanaan.

Kefungsian ujian dan bukannya butiran pelaksanaan

Apabila saya mendengar orang mengadu tentang ujian unit, biasanya kerana ujian berada pada tahap abstraksi yang salah. Mereka semua sedang menguji butiran pelaksanaan, memerhati kod rakan usaha sama mereka secara taksub dan membuat banyak ejekan.

Saya percaya masalah ini disebabkan oleh salah faham mereka terhadap ujian unit dan mengejar metrik (liputan ujian).

Jika saya bercakap tentang hanya menguji kefungsian, bukankah kita sepatutnya menulis ujian sistem/kotak hitam? Jenis ujian ini sememangnya mempunyai banyak nilai dalam mengesahkan perjalanan pengguna utama, tetapi ia selalunya mahal untuk ditulis dan lambat dijalankan. Atas sebab ini, mereka tidak begitu membantu untuk pemfaktoran semula kerana gelung maklum balas adalah perlahan. Tambahan pula, berbanding dengan ujian unit, ujian kotak hitam tidak banyak membantu dalam menyelesaikan masalah asas.

Jadi apakah tahap abstraksi yang betul?

Menulis ujian unit yang berkesan ialah perkara reka bentuk

Lupakan sebentar tentang ujian, lebih baik masukkan "unit" yang serba lengkap dan dipisahkan dalam sistem anda, Center mengenai konsep utama dalam bidang anda.

Saya suka menganggap unit ini sebagai bata LEGO ringkas dengan API konsisten yang boleh saya gabungkan dengan bata lain untuk membina sistem yang lebih besar. Di dalam API ini, mungkin terdapat banyak perkara (jenis, fungsi, dll.) yang bekerjasama untuk menjadikannya berfungsi mengikut keperluan.
Sebagai contoh, jika anda menggunakan Go untuk membangunkan sistem perbankan, anda harus mempunyai pakej "akaun". Ia akan menyediakan API yang tidak membocorkan butiran pelaksanaan dan mudah untuk disepadukan.

Jika unit anda mematuhi sifat ini, anda boleh menulis ujian unit terhadap API awam mereka. Secara takrifan ujian ini hanya boleh menguji kefungsian yang berguna. Dengan unit ini disediakan, kami bebas untuk memfaktorkan semula apabila perlu, dan ujian tidak akan menghalang kami dalam kebanyakan kes.

Adakah ujian unit ini

Ya. Ujian unit adalah untuk apa yang saya nyatakan sebagai "unit". Mereka tidak pernah hanya menyasarkan satu kelas/fungsi/apa sahaja.

Menggabungkan konsep ini

Kami telah pun membincangkan

  • Pemfaktoran Semula

  • Ujian unit

  • Reka bentuk unit

Apa yang dapat kita lihat ialah aspek reka bentuk perisian ini saling melengkapi antara satu sama lain.

Pemfaktoran semula

  • menyediakan isyarat untuk ujian unit kami. Jika kita perlu menyemak secara manual, maka kita memerlukan lebih banyak ujian. Jika ujian gagal, maka ujian kami berada pada tahap abstraksi yang salah (atau tidak mempunyai nilai dan harus dialih keluar)

  • membantu kami menangani kerumitan dalam dan antara unit.

Ujian unit

  • menyediakan perlindungan keselamatan untuk pemfaktoran semula.

  • Sahkan dan dokumenkan kefungsian unit kami.

Unit (Reka bentuk yang baik)

  • Ujian unit bermakna yang mudah ditulis.

  • Mudah difaktorkan semula.

Adakah terdapat proses yang membantu kami terus memfaktorkan semula kod kami untuk mengurus kerumitan dan memastikan sistem berskala?

Mengapa Pembangunan pandu uji (TDD)

Sesetengah orang mungkin terlalu mereka bentuk dan membuang banyak masa mencuba untuk mencipta sistem berskala "sempurna" terlebih dahulu kerana idea Lehman tentang cara membuat perisian sentiasa berubah, Tetapi tiada apa yang dicapai .

Pada zaman dahulu perisian yang buruk, satu pasukan penganalisis akan menghabiskan 6 bulan menulis dokumen keperluan, satu pasukan arkitek akan menghabiskan 6 bulan mereka bentuk, dan beberapa tahun kemudian keseluruhan projek akan gagal.

Saya katakan zaman dahulu adalah buruk, tetapi masih begitu

Pembangunan tangkas mengajar kita bahawa kita perlu bekerja secara berulang, bermula dari kecil dan terus menambah baik perisian supaya kita boleh mendapatkan maklum balas dengan cepat mengenai reka bentuk perisian dan cara ia berfungsi dengan pengguna sebenar TDD menguatkuasakan pendekatan ini.

TDD menangani undang-undang yang dibincangkan oleh Lehman dan pelajaran sejarah lain yang sukar dipelajari dengan menggalakkan pendekatan pembangunan pemfaktoran semula dan penyampaian berulang yang berterusan.

Langkah kecil

  • Tulis ujian kecil untuk fungsi kecil

  • Periksa sama ada ujian gagal, dan mempunyai ralat yang jelas (merah)

  • Tulis kod minimum untuk membuat ujian lulus (hijau)

  • Refactor

  • Ulang langkah di atas

Apabila anda menjadi lebih mahir, ini akan menjadi cara semula jadi untuk bekerja untuk anda, dan kecekapan kerja anda juga akan meningkat dan lebih tinggi

Anda mula berharap bahawa unit ujian kecil anda tidak mengambil masa terlalu lama untuk melengkapkan keseluruhan ujian, kerana jika anda melihat program anda sentiasa dalam keadaan bukan "hijau", itu bermakna anda mungkin mengalami sedikit masalah.

Dengan maklum balas ujian ini, anda boleh memastikan kestabilan beberapa fungsi aplikasi kecil dengan mudah.

Pengakhiran yang memuaskan

  • Kelebihan perisian ini ialah saya boleh mengubahnya mengikut keperluan. Dari masa ke masa, disebabkan beberapa sebab yang tidak dapat diramalkan, kebanyakan perisian perlu membuat perubahan yang sepadan mengikut keperluan tetapi jangan terlalu banyak bekerja dan terlalu reka bentuk pada mulanya, kerana masa depan terlalu sukar untuk diramalkan.

  • Jadi untuk memenuhi keperluan di atas, kami perlu memastikan perisian kami berskala. Jika tidak, keadaan akan menjadi sangat teruk apabila perisian kami perlu difaktorkan semula dan dinaik taraf.

  • Ujian unit yang baik boleh membantu anda memfaktorkan semula projek anda dengan cepat dan gembira.

  • Menulis ujian unit yang baik ialah masalah reka bentuk Anda mesti berfikir dengan teliti untuk menyusun kod anda supaya setiap ujian unit anda sama menariknya dengan menyusun blok Lego , berjaya menyelesaikan ujian daripada keseluruhan projek.

  • Pembangunan Dipacu Ujian (Pembangunan Dipacu Ujian TDD) boleh membantu dan menggesa anda untuk membangunkan perisian yang direka dengan baik secara berulang Menggunakannya sebagai sokongan teknikal akan memberi impak yang besar pada masa depan anda kerja.

Alamat asal: https://quii.gitbook.io/learn-go-with-tests/meta/why

Alamat terjemahan: https: //learnku.com/go/t/34095

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !

Atas ialah kandungan terperinci Mengapa ujian unit? Bagaimana untuk menjalankan ujian?. 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk membaca dan menulis fail dengan selamat menggunakan Golang? Bagaimana untuk membaca dan menulis fail dengan selamat menggunakan Golang? Jun 06, 2024 pm 05:14 PM

Membaca dan menulis fail dengan selamat dalam Go adalah penting. Garis panduan termasuk: Menyemak kebenaran fail Menutup fail menggunakan tangguh Mengesahkan laluan fail Menggunakan tamat masa konteks Mengikuti garis panduan ini memastikan keselamatan data anda dan keteguhan aplikasi anda.

Bagaimana untuk mengkonfigurasi kolam sambungan untuk sambungan pangkalan data Golang? Bagaimana untuk mengkonfigurasi kolam sambungan untuk sambungan pangkalan data Golang? Jun 06, 2024 am 11:21 AM

Bagaimana untuk mengkonfigurasi pengumpulan sambungan untuk sambungan pangkalan data Go? Gunakan jenis DB dalam pakej pangkalan data/sql untuk membuat sambungan pangkalan data untuk mengawal bilangan maksimum sambungan serentak;

Bagaimana untuk menggunakan gomega untuk penegasan dalam ujian unit Golang? Bagaimana untuk menggunakan gomega untuk penegasan dalam ujian unit Golang? Jun 05, 2024 pm 10:48 PM

Cara menggunakan Gomega untuk penegasan dalam ujian unit Golang Dalam ujian unit Golang, Gomega ialah perpustakaan penegasan yang popular dan berkuasa yang menyediakan kaedah penegasan yang kaya supaya pembangun boleh mengesahkan keputusan ujian dengan mudah. Pasang Gomegagoget-ugithub.com/onsi/gomega Menggunakan Gomega untuk penegasan Berikut ialah beberapa contoh biasa menggunakan Gomega untuk penegasan: 1. Import penegasan kesamaan "github.com/onsi/gomega" funcTest_MyFunction(t*testing.T){

Rangka Kerja Golang lwn Rangka Kerja Go: Perbandingan Seni Bina Dalaman dan Ciri Luaran Rangka Kerja Golang lwn Rangka Kerja Go: Perbandingan Seni Bina Dalaman dan Ciri Luaran Jun 06, 2024 pm 12:37 PM

Perbezaan antara rangka kerja GoLang dan rangka kerja Go ditunjukkan dalam seni bina dalaman dan ciri luaran. Rangka kerja GoLang adalah berdasarkan perpustakaan standard Go dan meluaskan fungsinya, manakala rangka kerja Go terdiri daripada perpustakaan bebas untuk mencapai tujuan tertentu. Rangka kerja GoLang lebih fleksibel dan rangka kerja Go lebih mudah digunakan. Rangka kerja GoLang mempunyai sedikit kelebihan dalam prestasi dan rangka kerja Go lebih berskala. Kes: gin-gonic (rangka Go) digunakan untuk membina REST API, manakala Echo (rangka kerja GoLang) digunakan untuk membina aplikasi web.

Bagaimana untuk menyimpan data JSON ke pangkalan data di Golang? Bagaimana untuk menyimpan data JSON ke pangkalan data di Golang? Jun 06, 2024 am 11:24 AM

Data JSON boleh disimpan ke dalam pangkalan data MySQL dengan menggunakan perpustakaan gjson atau fungsi json.Unmarshal. Pustaka gjson menyediakan kaedah kemudahan untuk menghuraikan medan JSON dan fungsi json.Unmarshal memerlukan penuding jenis sasaran kepada data JSON unmarshal. Kedua-dua kaedah memerlukan penyediaan pernyataan SQL dan melaksanakan operasi sisipan untuk mengekalkan data ke dalam pangkalan data.

Bagaimana untuk mencari subrentetan pertama dipadankan dengan ungkapan biasa Golang? Bagaimana untuk mencari subrentetan pertama dipadankan dengan ungkapan biasa Golang? Jun 06, 2024 am 10:51 AM

Fungsi FindStringSubmatch mencari subrentetan pertama dipadankan dengan ungkapan biasa: fungsi mengembalikan hirisan yang mengandungi subrentetan yang sepadan, dengan elemen pertama ialah keseluruhan rentetan dipadankan dan elemen berikutnya ialah subrentetan individu. Contoh kod: regexp.FindStringSubmatch(teks,corak) mengembalikan sekeping subrentetan yang sepadan. Kes praktikal: Ia boleh digunakan untuk memadankan nama domain dalam alamat e-mel, contohnya: e-mel:="user@example.com", pattern:=@([^\s]+)$ untuk mendapatkan padanan nama domain [1].

Berubah dari front-end ke pembangunan back-end, adakah lebih menjanjikan untuk belajar Java atau Golang? Berubah dari front-end ke pembangunan back-end, adakah lebih menjanjikan untuk belajar Java atau Golang? Apr 02, 2025 am 09:12 AM

Laluan Pembelajaran Backend: Perjalanan Eksplorasi dari Front-End ke Back-End sebagai pemula back-end yang berubah dari pembangunan front-end, anda sudah mempunyai asas Nodejs, ...

Bagaimana untuk menggunakan zon waktu yang telah ditetapkan dengan Golang? Bagaimana untuk menggunakan zon waktu yang telah ditetapkan dengan Golang? Jun 06, 2024 pm 01:02 PM

Menggunakan zon waktu yang dipratentukan dalam Go termasuk langkah berikut: Import pakej "masa". Muatkan zon waktu tertentu melalui fungsi LoadLocation. Gunakan zon waktu yang dimuatkan dalam operasi seperti mencipta objek Masa, menghuraikan rentetan masa dan melaksanakan penukaran tarikh dan masa. Bandingkan tarikh menggunakan zon waktu yang berbeza untuk menggambarkan aplikasi ciri zon waktu yang telah ditetapkan.

See all articles