কর্ম: কমান্ড লাইন থেকে একটি একক পরীক্ষা ফাইল চালানো


94

সুতরাং, আমি এটির জন্য সন্ধান করছি, এখানে "অনুরূপ" উত্তরগুলি পেয়েছি, তবে আমি যা চাই ঠিক তা নয়।

এই মুহূর্তে আমি কর্মফল সঙ্গে একটি একক ফাইল পরীক্ষা করতে চান তাহলে, আমি যা করতে হবে fit(), fdescribe()প্রশ্নে ফাইলে ...

যাইহোক, আমি যা চাই তা হ'ল কনফিগারেশন ফাইলের সাথে কেবল কর্মকে কল করতে এবং এটি একটি নির্দিষ্ট ফাইলে ডাইরেক্ট করার জন্য, তাই আমার এই ফাইলটি মোটেও পরিবর্তন করার দরকার নেই, যেমন:

karma run --conf karma.conf.js --file /path/to/specific/test_file.js

এটা করা কি সম্ভব? নাকি কোন সাহায্যকারীর সাথে? (গ্রান্ট বা গাল্প ব্যবহার করছেন?)


4
চেষ্টা করেছেন karma run -- --grep=testDescriptionFilter? আমি এটি আগে প্রস্তাবিত দেখেছি, তবে আমি এটি প্রথম কাজ করতে পারি তা যাচাই করতে পারি না। (আমি যদি বাড়িতে থাকি তবে আমি পরামর্শ দেওয়ার আগে চেষ্টা করতাম Since যেহেতু আমি চেষ্টা করতে পারি না
বৌভন

4
এটা কি কেবল নির্দিষ্টের জন্য নয় it? এটি কোনও ফাইলের জন্য ব্যবহার করার কোনও সম্ভাবনা নেই?
গোনালো ভিয়েরা

4
সত্যি কথা বলতে, আমি যদি একটি একক পরীক্ষার ফাইলে ফোকাস করতে চাই তবে আমি সর্বদা কেবল कर्মা.কনফকে পরিবর্তন করেছি। এটি করা যথেষ্ট সহজ যে আমি কখনই দ্রুততর উপায় খুঁজে বের করার প্রচেষ্টা ব্যয় করি না।
ভোগন

4
হট ডগ. এটা খুশী হয়েছে। পোস্ট. :)
ভোগন

4
সম্পর্কিত প্রশ্ন: স্ট্যাকওভারফ্লো
স্টিফান

উত্তর:


59

প্রথমে আপনার সাথে কর্মফল শুরু করতে হবে

karma start

তারপরে, আপনি একটি নির্দিষ্ট পরীক্ষা ফিল্টার করতে বা ব্লকটি বর্ণনা করতে গ্রেপ ব্যবহার করতে পারেন:

karma run -- --grep=testDescriptionFilter

12
এই উত্তরে বলা উচিত যে karmaদৌড়ানোর karma startআগে আপনার সাথে দৌড়াতে হবেkarma run
ইটাগওয়ার্কার

4
প্রশ্নটি কীভাবে ফিল্টার করতে হবে সে সম্পর্কে জিজ্ঞাসা করা হলেও, আমি এটি প্রয়োজনীয় মনে করি না karma run। বেশ পরিষ্কার বলে মনে হয়েছিল যে পোস্টার কীভাবে কর্ম শুরু করতে এবং সমস্ত পরীক্ষা চালাতে জানত এবং ফিল্টারিং সম্পর্কিত বাক্য গঠনটি সন্ধান করেছিল।
বউভন

4
আমি যদি প্রোগ্রামের মাধ্যমে এটি ঘটতে চাই তবে আমি কী করতে পারি? অর্থাৎ আমি পরিবর্তিত ফাইলটির বিবরণটি জানতাম না, তবে আমি তার ফাইলের নামটি জানতাম।
এমপিভি

4
এই সমাধানটি জুঁই টেস্টগুলি (কর্ম-জুঁই) দিয়ে মোটেও কাজ করে না বলে মনে হয়। এবং কর্ম সঞ্চালন --help কমান্ড বিকল্প হিসাবে --grep মোটেও প্রদর্শন করে না। আমি কর্ম সর্বশেষ ব্যবহার করছি (এটি 1.5.০ বলে)।
Yavin5

11
এটি একটি পরীক্ষা চালায় না!
ইভা

16

যদিও --filesএখন আর সমর্থিত নয়, আপনি ফাইলগুলির একটি তালিকা সরবরাহ করতে একটি এনভ ভেরিয়েবল ব্যবহার করতে পারেন:

// karma.conf.js
function getSpecs(specList) {
  if (specList) {
    return specList.split(',')
  } else {
    return ['**/*_spec.js'] // whatever your default glob is
  }
}

module.exports = function(config) {
  config.set({
    //...
    files: ['app.js'].concat(getSpecs(process.env.KARMA_SPECS))
  });
});

তারপরে সি এল এলিতে:

$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-run

4
এটি দুর্দান্ত কাজ শেষ! আপনার ডিফল্ট গ্লোবটির সামনে একটি ডিরেক্টরি নাম রয়েছে তা নিশ্চিত করুন বা অন্যথায় আপনি কোনও প্যাটার্ন ত্রুটি পেয়েছেন। এছাড়াও, আমি আমার ফাইলগুলি পরিবর্তিত করেছি: সংজ্ঞাটির মতো এটি: ফাইলগুলি: [] .কনক্যাট (getSpecs (process.env.KARMA_SPECS)), এবং এটি আরও ভাল কাজ করে শেষ হয়েছে কারণ পরিবেশের পরিবর্তনশীল না হলে ফাংশনটি ইতিমধ্যে গ্লোব প্যাটার্নটিতে রাখে if সেট। ওহ, এবং আমি মনে করি না কমান্ডের সামনের দিকে আপনার "এনভি" দরকার (এটি ছাড়া আমার পক্ষে কাজ করে)। @ ইউরি খারচেঙ্কো এই সমাধানের জন্য ধন্যবাদ!
Yavin5

6

এই বিকল্পটি আর কার্মার সাম্প্রতিক সংস্করণগুলিতে সমর্থিত নয়:

দেখতে https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054

ফাইলগুলি অ্যারের সিএলআই ব্যবহার করে যেমন পুনরায় সংজ্ঞায়িত করা যায়:

karma start --files=Array("test/Spec/services/myServiceSpec.js")

বা পালানো:

karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\)

তথ্যসূত্র


4
আমাকে এই ত্রুটিটি দেয় - বাশ: অপ্রত্যাশিত টোকেনের কাছে সিনট্যাক্স ত্রুটি `('
লক্ষ্যা

4
সুতরাং, যখন আমি এটি চেষ্টা করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই: config.files = config.files.map(createPatternObject).map(createPatternMapper(basePathResolve))যা আমি প্রয়োজনীয় জেএস ব্যবহার করছি তার কারণে হতে পারে?
গোনালো ভিয়েরা

4
এরম, প্রয়োজনীয় জেএসের কারণে নয়, কিছু অদ্ভুত কারণে কর্ম জেএস অ্যারে হিসাবে অ্যারে ("zzz") পড়ছেন না? ও_ও
গোনালো ভিয়েরা

4
এনএম, মনে হচ্ছে যে কর্মফল আর কোনও - ফাইলস আরগ সমর্থন করে না?
গোনালো ভিয়েরা

23
এখানে আসা প্রত্যেকের জন্য সতর্ক করার জন্য এই বিকল্পটি আর কোনও কর্মে
মর্যাদাপূর্ণ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.