Aplikasi praktikal: Ujian API menggunakan Beego
Dalam beberapa tahun kebelakangan ini, disebabkan perkembangan teknologi Internet, pembangunan dan ujian API (Application Programming Interface) telah menjadi bahagian penting dalam syarikat Internet. Disebabkan proses ujian API yang mudah, kecekapan tinggi dan kadar penggunaan semula kod yang tinggi, semakin banyak syarikat Internet mula menggunakan ujian automatik untuk menguji antara muka API mereka. Artikel ini akan memperkenalkan secara terperinci cara menggunakan rangka kerja Beego untuk ujian API.
1. Pengenalan kepada rangka kerja Beego
Beego ialah rangka kerja web berdasarkan bahasa Go Disebabkan oleh kecekapan, kesederhanaan dan ciri yang mudah dipelajari, ia digunakan oleh semakin ramai pembangun . Selain itu, Beego juga menyediakan pelbagai alatan dan pemalam, termasuk ORM, Websocket, Redis, CORS, Swagger dan alatan lain, yang boleh meningkatkan kecekapan pembangunan dengan banyak.
2. Alat pembangunan
Sebelum memulakan pembangunan, anda mesti terlebih dahulu menyediakan alatan pembangunan yang diperlukan. Persekitaran pembangunan yang digunakan dalam artikel ini adalah seperti berikut:
1 Sistem pengendalian: Windows 10
2 versi: go1.11.4 windows/amd64
3 versi: 1.12. 1
4 Rangka kerja ujian: GoConvey
5. Pangkalan Data: MySQL
3. Pemasangan dan konfigurasi
1. Muat turun pakej pemasangan yang sepadan dari tapak web rasmi (https://golang.org/dl/). Selepas muat turun selesai, klik dua kali untuk menjalankan pakej pemasangan bagi melengkapkan pemasangan.
2. Pasang Beego
Selepas memasang bahasa Go, anda perlu memasang rangka kerja Beego. Beego boleh dipasang melalui arahan berikut:
go get -u github.com/astaxie/beego
Arahan ini akan memuat turun rangka kerja Beego ke laluan GOPATH.
3. Pasang GoConvey
GoConvey ialah rangka kerja ujian unit untuk bahasa Go yang boleh mengesan semua kes ujian dalam projek dan melaksanakan kes ujian ini secara automatik. Kaedah untuk memasang GoConvey adalah seperti berikut:
go get github.com/smartystreets/goconvey
4. Pasang MySQL
Dalam artikel ini, kami menggunakan pangkalan data MySQL. Sila pergi ke tapak web rasmi MySQL untuk memuat turun dan memasang: https://dev.mysql.com/downloads/mysql/
Apabila memasang MySQL, adalah disyorkan untuk memasang MySQL Workbench terbina dalam.
4. Cipta projek Beego
Terdapat banyak cara untuk mencipta projek Beego, anda boleh menggunakan baris arahan, atau anda boleh menggunakan web alat yang disediakan oleh Beego. Dalam artikel ini, kami menggunakan baris arahan untuk mencipta projek yang dipanggil "MyAPI". Masukkan arahan berikut pada baris arahan:
bee new MyAPI
Kemudian projek Beego bernama "MyAPI" akan dibuat dalam direktori semasa.
Seterusnya, kita perlu menggunakan pangkalan data MySQL yang dipasang sebelum ini. Dalam MySQL Workbench, cipta pangkalan data baharu dan namakannya MyAPI, laksanakan pernyataan SQL berikut:
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20), password VARCHAR(50), created_at TIMESTAMP DEFAULT NOW() )
Pernyataan SQL ini mencipta jadual bernama pengguna, mengandungi empat medan: id, nama pengguna, kata laluan dan created_at .
Seterusnya, kami perlu memberikan kebenaran akses kepada pangkalan data. Buka MySQL Workbench, pilih Pangkalan Data -> Pengguna dan Keistimewaan ->
5. Penulisan API
Selepas mencipta projek Beego, kami perlu menambah beberapa antara muka API pada projek untuk ujian. Dalam main.go projek MyAPI, kami menambah kod berikut:
package main import ( "MyAPI/controllers" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) func init() { orm.RegisterDriver("mysql", orm.DRMySQL) orm.RegisterDataBase("default", "mysql", "username:password@tcp(127.0.0.1:3306)/MyAPI?charset=utf8") orm.RegisterModel(new(models.User)) orm.RunSyncdb("default", false, true) } func main() { beego.Router("/api/user/:id", &controllers.UserController{}) beego.Run() }
Dalam kod di atas, kami menggunakan kaedah beego.Router() untuk menyambung laluan API "/api/user/:id " kepada pengawal.UserController {}Pengawal ini terikat. Kami juga menggunakan teknologi ORM (Object Relational Mapping) untuk berinteraksi dengan pangkalan data MySQL, mendaftar pangkalan data lalai menggunakan kaedah RegisterDataBase(), mencipta jadual pengguna dalam pangkalan data dan mendaftarkan struktur Pengguna sebagai model ORM.
Apabila menulis pengawal.UserController{} pengawal, kami menambah kod berikut untuk mengendalikan permintaan HTTP GET dan mendapatkan pengguna tertentu:
func (c *UserController) Get() { o := orm.NewOrm() user := models.User{} id, _ := strconv.Atoi(c.Ctx.Input.Param(":id")) user.ID = id err := o.Read(&user) if err != nil { c.Data["json"] = err.Error() } else { c.Data["json"] = user } c.ServeJSON() }
6 >Dalam artikel ini, kami menggunakan GoConvey untuk menguji antara muka API. Kita perlu menambah direktori bernama ujian pada projek Beego dan mencipta fail ujian bernama user_test.go dalam direktori.
package tests import ( "MyAPI/models" "github.com/astaxie/beego/orm" "net/http" "net/http/httptest" "testing" "github.com/smartystreets/goconvey/convey" ) func TestGetUser(t *testing.T) { convey.Convey("GetUser", t, func() { o := orm.NewOrm() user := models.User{Username: "testuser", Password: "testpass"} id, _ := o.Insert(&user) req, _ := http.NewRequest("GET", "/api/user/"+strconv.Itoa(int(id)), nil) resp := httptest.NewRecorder() beego.BeeApp.Handlers.ServeHTTP(resp, req) convey.So(resp.Code, convey.ShouldEqual, 200) }) }
Untuk kod di atas, kami menggunakan pakej penghantaran yang disediakan oleh GoConvey untuk menguji antara muka API. Kami mula-mula menggunakan ORM untuk mencipta pengguna baharu bernama testuser, dan mendapatkan pengguna ini melalui permintaan HTTP GET, dan kemudian menggunakan kaedah convey.So() untuk menentukan sama ada status HTTP untuk mendapatkan maklumat pengguna ialah 200.
7. Mulakan ujian
Masukkan direktori projek MyAPI melalui baris arahan dan laksanakan arahan berikut:
go test ./tests/...
Arahan ini akan menguji semua kes ujian dalam Projek MyAPI , dan paparkan keputusan ujian.
8. Ringkasan
Artikel ini memperkenalkan proses asas menggunakan Beego untuk ujian API. Dengan bantuan rangka kerja Beego dan alat GoConvey, ujian API boleh dijalankan dengan lebih baik dan memberikan jaminan yang lebih baik untuk projek kami. Pada masa yang sama, kami juga perlu terus mempelajari teknologi dan alatan baharu, mengekalkan semangat kami untuk pembangunan dan ujian, serta meningkatkan tahap teknikal kami.
Atas ialah kandungan terperinci Aplikasi praktikal: Ujian API menggunakan Beego. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apakah pendapat anda tentang furmark? 1. Tetapkan "Mod Jalankan" dan "Mod Paparan" dalam antara muka utama, dan juga laraskan "Mod Ujian" dan klik butang "Mula". 2. Selepas menunggu seketika, anda akan melihat keputusan ujian, termasuk pelbagai parameter kad grafik. Bagaimanakah furmark layak? 1. Gunakan mesin pembakar furmark dan semak hasilnya selama kira-kira setengah jam Ia pada asasnya berlegar sekitar 85 darjah, dengan puncak 87 darjah dan suhu bilik 19 darjah. Casis besar, 5 port kipas casis, dua di hadapan, dua di atas, dan satu di belakang, tetapi hanya satu kipas dipasang. Semua aksesori tidak overclock. 2. Dalam keadaan biasa, suhu biasa kad grafik hendaklah antara "30-85℃". 3. Walaupun suhu ambien terlalu tinggi pada musim panas, suhu biasa ialah "50-85℃"

"Ujian Inaction" bagi MMORPG dongeng fantasi baharu "Zhu Xian 2" akan dilancarkan pada 23 April. Apakah jenis kisah pengembaraan dongeng baharu yang akan berlaku di Benua Zhu Xian beribu-ribu tahun selepas karya asal? The Six Realm Immortal World, akademi abadi sepenuh masa, kehidupan abadi percuma, dan semua jenis keseronokan di dunia abadi sedang menunggu rakan-rakan abadi untuk meneroka secara peribadi! Pra-muat turun "Wuwei Test" kini dibuka Rakan-rakan Fairy boleh pergi ke laman web rasmi untuk memuat turun Anda tidak boleh log masuk ke pelayan permainan sebelum pelayan dilancarkan sudah selesai. Waktu pembukaan "Zhu Xian 2" "Inaction Test": 23 April 10:00 - 6 Mei 23:59 Bab pengembaraan dongeng baharu sekuel ortodoks kepada Zhu Xian "Zhu Xian 2" adalah berdasarkan novel "Zhu Xian" sebagai cetak biru Berdasarkan pandangan dunia karya asal, latar belakang permainan ditetapkan

"Operation Delta" akan melancarkan ujian PC berskala besar yang dipanggil "Codename: ZERO" hari ini (7 Mac). Hujung minggu lalu, permainan ini mengadakan acara pengalaman flash mob luar talian di Shanghai, dan 17173 juga bertuah kerana dijemput untuk mengambil bahagian. Ujian ini hanya tinggal lebih empat bulan lagi daripada kali terakhir, yang membuatkan kami tertanya-tanya, apakah sorotan dan kejutan baharu yang akan dibawa oleh "Operasi Delta" dalam tempoh yang singkat? Lebih empat bulan yang lalu, saya mengalami "Operasi Delta" dalam sesi merasa luar talian dan versi beta pertama. Pada masa itu, permainan hanya membuka mod "Tindakan Berbahaya". Walau bagaimanapun, Operasi Delta sudah mengagumkan pada zamannya. Dalam konteks pengeluar utama yang berpusu-pusu ke pasaran permainan mudah alih, FPS sedemikian yang setanding dengan piawaian antarabangsa

Tajuk: Cara menangani pelaporan ralat API Laravel, contoh kod khusus diperlukan Semasa membangunkan Laravel, ralat API sering ditemui. Ralat ini mungkin datang daripada pelbagai sebab seperti ralat logik kod program, masalah pertanyaan pangkalan data atau kegagalan permintaan API luaran. Cara mengendalikan laporan ralat ini ialah isu utama Artikel ini akan menggunakan contoh kod khusus untuk menunjukkan cara mengendalikan laporan ralat API Laravel dengan berkesan. 1. Ralat pengendalian dalam Laravel

Oracle ialah penyedia sistem pengurusan pangkalan data yang terkenal di dunia, dan APInya (Antara Muka Pengaturcaraan Aplikasi) ialah alat berkuasa yang membantu pembangun berinteraksi dan menyepadukan dengan mudah dengan pangkalan data Oracle. Dalam artikel ini, kami akan menyelidiki panduan penggunaan API Oracle, menunjukkan kepada pembaca cara menggunakan teknologi antara muka data semasa proses pembangunan dan menyediakan contoh kod khusus. 1. Oracle

Dalam era perkembangan teknologi yang pesat hari ini, bahasa pengaturcaraan bermunculan seperti cendawan selepas hujan. Salah satu bahasa yang telah menarik perhatian ramai ialah bahasa Go, yang digemari oleh ramai pembangun kerana kesederhanaan, kecekapan, keselamatan serentak dan ciri-ciri lain. Bahasa Go terkenal dengan ekosistemnya yang kukuh dengan banyak projek sumber terbuka yang sangat baik. Artikel ini akan memperkenalkan lima projek sumber terbuka bahasa Go yang dipilih dan membawa pembaca untuk meneroka dunia projek sumber terbuka bahasa Go. KubernetesKubernetes ialah enjin orkestrasi kontena sumber terbuka untuk automatik

Analisis strategi penyepaduan API Oracle: Untuk mencapai komunikasi yang lancar antara sistem, contoh kod khusus diperlukan Dalam era digital hari ini, sistem perusahaan dalaman perlu berkomunikasi antara satu sama lain dan berkongsi data, dan Oracle API ialah salah satu alat penting untuk membantu mencapai kelancaran. komunikasi antara sistem. Artikel ini akan bermula dengan konsep dan prinsip asas OracleAPI, meneroka strategi penyepaduan API, dan akhirnya memberikan contoh kod khusus untuk membantu pembaca memahami dan menggunakan OracleAPI dengan lebih baik. 1. API Oracle Asas

Maven ialah alat pengurusan projek sumber terbuka yang biasa digunakan untuk tugas seperti membina projek Java, mengurus kebergantungan dan menerbitkan dokumen. Apabila menggunakan Maven untuk binaan projek, kadangkala kita mahu mengabaikan fasa ujian apabila melaksanakan arahan seperti mvnpackage, yang akan meningkatkan kelajuan binaan dalam beberapa kes, terutamanya apabila prototaip atau persekitaran ujian perlu dibina dengan cepat. Artikel ini akan memperincikan cara mengabaikan fasa ujian dalam Maven, dengan contoh kod tertentu. Mengapa Ujian Sering Diabaikan Semasa Pembangunan Projek
