কীভাবে আমার প্রকল্পের সমস্ত পরীক্ষাগুলি "পরীক্ষায় যান"?


141

go testকমান্ড জুড়ে *_test.goশুধুমাত্র একটি দির ফাইল।

আমি go testপুরো প্রকল্পটি করতে চাই , যার অর্থ পরীক্ষার মাধ্যমে ডিরের সমস্ত *_test.goফাইল ./এবং প্রতিটি সিন্ড্রেন গাছের ডিরের আওতাভুক্ত হওয়া উচিত ./

এটি করার আদেশ কি?

উত্তর:


278

এটি বর্তমান ডিরেক্টরি এবং এর সমস্ত উপ-ডিরেক্টরিতে সমস্ত পরীক্ষা চালাতে হবে:

$ go test ./...

নির্দিষ্ট নির্দিষ্ট ডিরেক্টরিগুলির জন্য এটির সমস্ত পরীক্ষা চালানো উচিত:

$ go test ./tests/... ./unit-tests/... ./my-packages/...

এর সাথে প্রিফিক্সড আমদানি পথ সহ সমস্ত পরীক্ষা চালানো উচিত foo/:

$ go test foo/...

এটির সাথে উপরিচিত সমস্ত পরীক্ষার আমদানি পথ চালানো উচিত foo:

$ go test foo...

এটি আপনার $ গোপথে সমস্ত পরীক্ষা চালানো উচিত:

$ go test ...

4
জেডশায় এফওয়াইআই, ...শেষ উদাহরণে খালি অবশ্যই পালাতে হবে, আইইgo test \...
গ্যাবে কোপলি

আমি যখন পাচ্ছি সাবডিরের সমস্ত পরীক্ষা চালানোর চেষ্টা করছিgo: warning: "subdir/..." matched no packages
ইভান আরাকী

@zzzz কীভাবে নির্দিষ্ট ফোল্ডারগুলির জন্য পরীক্ষা চালাবেন? "পরীক্ষার জন্য যান ... বার ... বলুন?
ওমুরবেক কাদির্বিকভ

go test ./...সত্যিই একটি মহান আদেশ! :) সাহায্য করার জন্য ধন্যবাদ
bumblebee

53

Go 1.9 থেকে , ব্যবহার করুন

go test ./...

Go 1.6 থেকে 1.8 এর মধ্যে, ডিরেক্টরিটিও./... মেলে । বিক্রেতাদের প্যাকেজগুলি এড়িয়ে যেতে, আপনি ব্যবহার করবেনvendor

go test $(go list ./... | grep -v /vendor/)

সূত্র: https://github.com/golang/go/issues/11659 , https://github.com/golang/go/issues/14417 , https://github.com/go-lang-plugin-org/ go-lang- خیال- প্লাগইন / ইস্যুগুলি / 2366 , @ নিকগ্রিমের মন্তব্য।


1
এই সমাধানটি যত সহজ দেখায়, উইন্ডোজের লোকেদের পক্ষে এটি চালানো আরও জটিল করে তোলে (আমি কিন্তু আমার দলের সাথীদের মধ্যে কেউ নেই) এটি চালানো। মেকফিলের প্রয়োজন ছাড়াই প্রতিটি প্ল্যাটফর্মে নেটিভ চলমান গোয়ের সৌন্দর্য দুর্দান্ত।
Konrad Kleine

5
উল্লেখযোগ্য যে Go Go 1.9 ./..../vendor/go test ./...
-র

11

ফোল্ডার কাঠামো

ProjectName/folderName1/file_test.go
ProjectName/folderName2/file1_test.go
ProjectName/folderName3/file2_test.go

কমান্ড কমান্ড পরীক্ষা করুন

   ProjectName$ go test -v ./...
    ProjectName$ go test  ./...
    ProjectName$ go test -cover ./...

পুরো প্রকল্পের জন্য কভারেজ রিপোর্ট

ok      ProjectName/folderName1 10%
ok      ProjectName/folerName2  90%
ok      ProjectName/folerName2  85%
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.