আমি gradle build
ইউনিট পরীক্ষাগুলি সম্পাদন না করেই মৃত্যুদণ্ড কার্যকর করতে চাই । আমি চেষ্টা করেছিলাম:
$ gradle -Dskip.tests build
এতে কিছু করার মনে হয় না। আমি ব্যবহার করতে পারে অন্য কোন কমান্ড আছে?
-DskipTests
মাভেনের জন্য
আমি gradle build
ইউনিট পরীক্ষাগুলি সম্পাদন না করেই মৃত্যুদণ্ড কার্যকর করতে চাই । আমি চেষ্টা করেছিলাম:
$ gradle -Dskip.tests build
এতে কিছু করার মনে হয় না। আমি ব্যবহার করতে পারে অন্য কোন কমান্ড আছে?
-DskipTests
মাভেনের জন্য
উত্তর:
আপনার -x
কমান্ড লাইন যুক্তি ব্যবহার করা উচিত যা কোনও কাজ বাদ দেয় exc
চেষ্টা করুন:
gradle build -x test
হালনাগাদ:
পিটারের মন্তব্যের লিঙ্কটি পরিবর্তন হয়েছে। গ্রেডল ব্যবহারকারীর গাইড থেকে এখানে চিত্রটি দেওয়া হয়েছে
-x integTest
এবং ইত্যাদি যোগ করার প্রয়োজন হতে পারে কাজ করে, তাই মাভেনের কম্বলের মতো সুবিধাজনক নয় -DskipTests
।
run
আমি আমার হ্যালো প্রোগ্রামটির প্রভাবটি দেখতে পাচ্ছি effect তবে আমি মনে করি এটি আবার সবকিছু সংকলন করছে। আমি কেবল জাভা প্রোগ্রামটি চালাতে চাই।
চেষ্টা করুন:
gradle assemble
আপনার প্রকল্পের জন্য উপলব্ধ সমস্ত কাজ তালিকা করতে চেষ্টা করুন:
gradle tasks
হালনাগাদ:
এটি প্রথমে সর্বাধিক সঠিক উত্তর বলে মনে হচ্ছে না, তবে gradle tasks
আউটপুট বা ডক্স সাবধানতার সাথে পড়ুন ।
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
gradle assemble
মূল ফাইলগুলি সংকলন করবে না। আপনি যদি নিজের ইউনিট পরীক্ষা স্থির করতে কাজ করেন তবে আপনার প্রয়োজন gradle assemble testClasses
- আমার মনে হয় বিল্ড টাস্কের নামকরণটি বেশ বিভ্রান্তিকর।
গৃহীত উত্তরটি সঠিক।
OTOH, আমি এর আগে যেভাবে সমাধান করেছি তা হ'ল সমস্ত প্রকল্পে নিম্নলিখিতগুলি যুক্ত করা:
test.onlyIf { ! Boolean.getBoolean('skip.tests') }
এর সাথে বিল্ডটি চালান -Dskip.tests=true
এবং সমস্ত পরীক্ষার কাজগুলি এড়িয়ে যায়।
তোমার নিম্নলিখিত পংক্তিগুলি যোগ করতে পারেন build.gradle
, **/*
বাদ সমস্ত পরীক্ষার।
test {
exclude '**/*'
}
আপনি কাজগুলি বাদ দিতে পারেন
gradle build --exclude-task test
গ্রেড ব্যবহার -x
কমান্ড-লাইন বিকল্প থেকে কোনও কাজ বাদ দিতে । নীচের উদাহরণ দেখুন
task compile << {
println 'task compile'
}
task compileTest(dependsOn: compile) << {
println 'compile test'
}
task runningTest(dependsOn: compileTest) << {
println 'running test'
}
task dist(dependsOn:[runningTest, compileTest, compile]) << {
println 'running distribution job'
}
এর আউটপুট: gradle -q dist -x runningTest
task compile
compile test
running distribution job
আশা করি এটি আপনাকে প্রাথমিক প্রদান করবে
প্রকল্পে পরীক্ষার কাজগুলি অক্ষম করার বিভিন্ন উপায় হ'ল:
tasks.withType(Test) {enabled = false}
আপনি যদি কোনও প্রকল্পের (বা প্রকল্পগুলির গ্রুপ) পরীক্ষার অক্ষম করতে চান তবে কখনও কখনও এই আচরণের প্রয়োজন হয়।
এইভাবে কেবল একটি জাভা 'পরীক্ষা' নয়, সমস্ত ধরণের পরীক্ষামূলক কাজের জন্য কাজ করা। এছাড়াও, এই উপায়টি নিরাপদ। এখানে আমি যা বলতে চাইছি তা এখানে: আপনার বিভিন্ন ভাষায় প্রকল্পের একটি সেট রয়েছে: যদি আমরা এই ধরণের রেকর্ডটি মূলত যুক্ত করার চেষ্টা করি build.gradle
:
subprojects{
.......
tests.enabled=false
.......
}
আমরা কোনও প্রকল্পে ব্যর্থ হব যখন আমাদের কাছে টেস্ট নামক কোনও কাজ না থাকে
-x test
স্কিপ টেস্ট এক্সিকিউশন ব্যবহার করে তবে এটি পরীক্ষার কোড সংকলনও বাদ দেয়।
gradle build -x test
আমাদের ক্ষেত্রে, আমাদের একটি সিআই / সিডি প্রক্রিয়া রয়েছে যেখানে একটি লক্ষ্য সংকলন এবং পরবর্তী লক্ষ্যটি পরীক্ষা করা হয় (বিল্ড -> পরীক্ষা)।
সুতরাং, আমাদের প্রথম Build
লক্ষের জন্য আমরা নিশ্চিত করতে চেয়েছিলাম যে পুরো প্রকল্পটি সুসংগতভাবে সংকলিত হয়েছে। এর জন্য আমরা ব্যবহার করেছি:
./gradlew build testClasses -x test
পরবর্তী লক্ষ্যটিতে আমরা কেবল পরীক্ষাগুলি সম্পাদন করি।
gradle build -x test --parallel
যদি আপনার মেশিনে একাধিক কোর থাকে। তবে এটি সমান্তরাল পরিষ্কার ব্যবহার করার পরামর্শ দেওয়া হয় না।
দয়া করে এটি চেষ্টা করুন:
gradlew -DskipTests=true build
ইন জাভা প্লাগইন :
$ gradle tasks
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
testClasses - Assembles test classes.
Verification tasks
------------------
test - Runs the unit tests.
গ্রেডল বিল্ডিং বিনা পরীক্ষায় আপনার দুটি বিকল্প রয়েছে:
$ gradle assemble
$ gradle build -x test
তবে আপনি যদি সংকলন পরীক্ষা করতে চান:
$ gradle assemble testClasses
$ gradle testClasses