Jadual Kandungan
Kandungan soalan
Penyelesaian
Rumah pembangunan bahagian belakang Golang Uji modul go tempatan yang diimport menggunakan arahan ganti dan gunakan direktori vendor dalam folder rumah

Uji modul go tempatan yang diimport menggunakan arahan ganti dan gunakan direktori vendor dalam folder rumah

Feb 10, 2024 pm 04:27 PM
pergi bahasa

测试使用替换指令导入的本地 go 模块并使用主文件夹中的供应商目录

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
Salin selepas log masuk

fail go.mod pengeksport saya

module bitbucket.com/agent/exporter/myexporter
Salin selepas log masuk

fail agen go.mod mempunyai

module bitbucket.com/agent

require (
    bitbucket.com/agent/exporter/myexporter
)

replace bitbucket.com/agent/exporter/myexporter => ./exporter/myexporter
Salin selepas log masuk

Soalan saya ialah

  1. Jika saya menjalankan "go test -mod=vendor ./..." ia hanya menguji dalam main_test run
  2. Jika saya menggunakan "go test -mod=vendor exporter/myexporter" saya mendapat "package exporter/myexporter is not in goroot"
  3. Jika saya menjalankan "go test -mod=vendor bitbucket.com/agent/exporter/myexporter" tiada fail ujian
  4. 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 李>
  5. 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!

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

Video Face Swap

Video Face Swap

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

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)

Apakah masalah dengan thread giliran di crawler colly go? Apakah masalah dengan thread giliran di crawler colly go? Apr 02, 2025 pm 02:09 PM

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 apa yang digunakan untuk operasi nombor terapung di GO? Perpustakaan apa yang digunakan untuk operasi nombor terapung di GO? Apr 02, 2025 pm 02:06 PM

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

Bagaimana menyelesaikan masalah penukaran jenis user_id semasa menggunakan aliran redis untuk melaksanakan beratur mesej dalam bahasa Go? Bagaimana menyelesaikan masalah penukaran jenis user_id semasa menggunakan aliran redis untuk melaksanakan beratur mesej dalam bahasa Go? Apr 02, 2025 pm 04:54 PM

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

Di Go, mengapa rentetan percetakan dengan fungsi println dan rentetan () mempunyai kesan yang berbeza? Di Go, mengapa rentetan percetakan dengan fungsi println dan rentetan () mempunyai kesan yang berbeza? Apr 02, 2025 pm 02:03 PM

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? Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apr 02, 2025 pm 05:09 PM

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 ...

Apakah perbezaan antara struktur definisi kata kunci `var` dan` type` dalam bahasa Go? Apakah perbezaan antara struktur definisi kata kunci `var` dan` type` dalam bahasa Go? Apr 02, 2025 pm 12:57 PM

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 disediakan oleh projek sumber terbuka yang terkenal? Perpustakaan mana yang dibangunkan oleh syarikat besar atau disediakan oleh projek sumber terbuka yang terkenal? Apr 02, 2025 pm 04:12 PM

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

Kenapa perlu lulus petunjuk apabila menggunakan perpustakaan Go dan Viper? Kenapa perlu lulus petunjuk apabila menggunakan perpustakaan Go dan Viper? Apr 02, 2025 pm 04:00 PM

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 ...

See all articles