


Uji modul go tempatan yang diimport menggunakan arahan ganti dan gunakan direktori vendor dalam folder rumah
Dalam artikel ini, editor PHP Youzi akan memperkenalkan cara menggunakan arahan gantian untuk mengimport modul go secara tempatan dan menggunakan direktori pembekal dalam folder utama. Arahan penggantian ialah ciri berkuasa dalam bahasa Go, yang membolehkan kami memperkenalkan modul tempatan dengan lebih fleksibel semasa proses pembangunan dan meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod. Melalui panduan artikel ini, saya percaya bahawa semua orang boleh menguasai teknik ini dengan mudah dan mengembangkan bahasa Go dengan lebih cekap. Seterusnya, mari kita lihat langkah-langkah khusus!
Kandungan soalan
pengeksport saya ialah modul tempatan saya dan saya mengimportnya ke dalam modul utama menggunakan replace. Saya ingin menjalankan ujian dalam myexporter menggunakan folder vendor pada akar projek utama.
Struktur direktori projek saya adalah seperti ini
bitbucket.com |__agent |__exporter | |__myexporter | |__factory.go | factory_test.go | go.mod |__runner | |__main.go | main_test.go |__vendor | |__bitbucket.com/agent/exporter/myexporter | |__factory.go |__go.mod
fail go.mod pengeksport saya
module bitbucket.com/agent/exporter/myexporter
fail agen go.mod mempunyai
module bitbucket.com/agent require ( bitbucket.com/agent/exporter/myexporter ) replace bitbucket.com/agent/exporter/myexporter => ./exporter/myexporter
Soalan saya ialah
- Jika saya menjalankan "go test -mod=vendor ./..." ia hanya menguji dalam main_test run
- Jika saya menggunakan "go test -mod=vendor exporter/myexporter" saya mendapat "package exporter/myexporter is not in goroot"
- Jika saya menjalankan "go test -mod=vendor bitbucket.com/agent/exporter/myexporter" tiada fail ujian
- Jika saya beralih ke direktori pengeksport/pengeksport saya dan kemudian jalankan dengan "go test ./..." ia berfungsi, tetapi bukan "go test -mod=vendor ./..." kerana direktori vendor berada dalam Root ejen direktori 李>
- Jika saya menjalankan "go test -mod=vendor ./exporter/myexporter/" saya mendapat "Modul utama (bitbucket.com/agent) tidak mengandungi pakej bitbucket.com/agent/exporter/myexporter"
Binaan tidak mempunyai akses kepada pakej go, ia bergantung pada folder vendor, dan perkara yang sama berlaku untuk ujian. Saya tidak mahu berbilang salinan kebergantungan wujud dalam folder vendor lain di dalam myexporter. Adakah terdapat sebarang cara untuk menjalankan ujian dalam myexporter menggunakan folder ejen/vendor?
Penyelesaian
Adakah terdapat sebarang cara untuk menjalankan ujian dalam MyExporter menggunakan folder ejen/penjual?
Tidak.
Anda mesti menguji di mana pengeksport saya. Setelah diberikan, hanya kod sebenar yang diberikan.
Satu-satunya perkara yang mungkin ialah menggabungkan modul.
Ia benar-benar bermuara kepada perkara ini: Jika anda perlu menguji kedua-dua modul secara selari/konsisten, ia bukanlah dua modul yang berbeza dengan kitaran hayat berbeza. Jika ini adalah perkara yang berasingan dengan kitaran hayat yang berbeza, anda boleh menguji yang pertama, pastikan ia berfungsi dan membekalkannya kepada yang kedua. Kemudian uji yang kedua, termasuk penggunaannya yang pertama, tetapi jangan jalankan ujian pertama kerana ia tidak lagi diperlukan.
Atas ialah kandungan terperinci Uji modul go tempatan yang diimport menggunakan arahan ganti dan gunakan direktori vendor dalam folder rumah. 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



Masalah Threading Giliran di GO Crawler Colly meneroka masalah menggunakan Perpustakaan Colly Crawler dalam bahasa Go, pemaju sering menghadapi masalah dengan benang dan permintaan beratur. � ...

Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...

Perbezaan antara percetakan rentetan dalam bahasa Go: perbezaan kesan menggunakan fungsi println dan rentetan () sedang ...

Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apabila menggunakan Goland untuk Pembangunan Bahasa GO, banyak pemaju akan menghadapi tag struktur tersuai ...

Dua cara untuk menentukan struktur dalam bahasa Go: perbezaan antara VAR dan jenis kata kunci. Apabila menentukan struktur, pergi bahasa sering melihat dua cara menulis yang berbeza: pertama ...

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

GO Pointer Syntax dan menangani masalah dalam penggunaan perpustakaan Viper semasa pengaturcaraan dalam bahasa Go, adalah penting untuk memahami sintaks dan penggunaan petunjuk, terutama dalam ...
