আমি আমার জাভাস্ক্রিপ্ট স্টাফ পরীক্ষা করতে মোচা ব্যবহার করি। আমার পরীক্ষার ফাইলে 5 টি পরীক্ষা রয়েছে। ফাইলের সমস্ত পরীক্ষার চেয়ে কোনও নির্দিষ্ট পরীক্ষা (বা পরীক্ষার সেট) চালানো কি সম্ভব?
আমি আমার জাভাস্ক্রিপ্ট স্টাফ পরীক্ষা করতে মোচা ব্যবহার করি। আমার পরীক্ষার ফাইলে 5 টি পরীক্ষা রয়েছে। ফাইলের সমস্ত পরীক্ষার চেয়ে কোনও নির্দিষ্ট পরীক্ষা (বা পরীক্ষার সেট) চালানো কি সম্ভব?
উত্তর:
মোচার --grep
বিকল্পটি ব্যবহার করে দেখুন :
-g, --grep <pattern> only run tests matching <pattern>
আপনি যে কোনও বৈধ জাভাস্ক্রিপ্ট রেজেক্স ব্যবহার করতে পারেন <pattern>
। উদাহরণস্বরূপ, যদি আমাদের থাকে test/mytest.js
:
it('logs a', function(done) {
console.log('a');
done();
});
it('logs b', function(done) {
console.log('b');
done();
});
তারপর:
$ mocha -g 'logs a'
একটি একক পরীক্ষা চালাতে। মনে রাখবেন যে সমস্ত describe(name, fn)
এবং অনুরোধগুলির নাম জুড়ে এই গ্রেপগুলি it(name, fn)
।
describe()
নির্দিষ্ট সেটগুলি সনাক্ত করা এবং নির্বাচন করা সহজ করার জন্য নেমস্পেসিংয়ের জন্য নেস্টেড কলগুলি বিবেচনা করুন।
mocha some/test.js
) মোটেও কাজ করে না। ধন্যবাদ!
logs a bcd
রয়েছে যা চালানো এড়াতে কোনও উপায় logs a
? রিজেক্সএক্স 0.10.2 এ ^$
কাজ করছে না।
আপনার ব্যবহারের ধরণটির উপর নির্ভর করে আপনি কেবল কেবল ব্যবহার করতে পছন্দ করতে পারেন । আমরা টিডিডি স্টাইল ব্যবহার করি; এটি দেখতে এরকম দেখাচ্ছে:
test.only('Date part of valid Partition Key', function (done) {
//...
}
সমস্ত ফাইল / স্যুট থেকে কেবল এই পরীক্ষাটি চলবে।
it.only
।
it.only
একসাথে কাজ করবে না given
এর একজাতীয় উৎকৃষ্ট কফি-testdata । এবং এটি পরে মুছে ফেলা ভুলে যাওয়া সহজ।
eslint-plugin-mocha
একটি নিয়ম রয়েছে no-exclusive-tests
যা আপনাকে মুছে ফেলতে ভুলে গেলে আপনাকে ধরবে .only
।
আপনি যদি npm test
(প্যাকেজ.জসন স্ক্রিপ্ট ব্যবহার করে) ব্যবহার করছেন তবে মোচায় পারম --
পাস করার জন্য অতিরিক্ত ব্যবহার করুন
যেমন npm test -- --grep "my second test"
সম্পাদনা : দেখে মনে হচ্ছে --grep
কিছুটা উদাসীন হতে পারে (সম্ভবত অন্যান্য যুক্তির উপর নির্ভর করে)। আপনি পারেন:
প্যাকেজটি পরিবর্তন করুন
"test:mocha": "mocha --grep \"<DealsList />\" .",
অথবা বিকল্পভাবে ব্যবহার করুন --bail
যা কম উদ্বেগজনক বলে মনে হচ্ছে
npm test -- --bail
--grep
কিছুটা উদ্বেগজনক হতে পারে - এনপিএম স্ক্রিপ্ট এন্ট্রির মধ্যে মোচার পরে এটি ঠিক রেখে দেওয়ার চেষ্টা করুন। অন্য npm test -- --bail
প্রথম ব্যর্থ পরীক্ষার পর bailing জন্য দরকারী
--grep
আমার দিন বাঁচানোর আগে অতিরিক্ত ড্যাশ পাস ! অনেক ধন্যবাদ. পুনশ্চ. আমি উইন্ডোজ এ চলেছি, চলছেnpm test -- --grep @tag
প্রকৃতপক্ষে, আপনি ফাইলের নাম অনুসারে একটিমাত্র মোচা পরীক্ষাও চালাতে পারেন (কেবল "এটি (দ্বারা নয় - স্ট্রিং-গ্রেপিং") যদি আপনি ./test/**/*.spec.js
নিজের মোচা.অ্যাপ্টস থেকে গ্লোব প্যাটার্নটি (উদাহরণস্বরূপ ) অপসারণ করেন , যথাক্রমে একটি অনুলিপি তৈরি করেন:
node_modules/.bin/mocha --opts test/mocha.single.opts test/self-test.spec.js
এখানে আমার mocha.single.opts (এটি উল্লিখিত গ্লোব লাইনটি হারিয়ে যাওয়ার চেয়ে আলাদা)
--require ./test/common.js
--compilers js:babel-core/register
--reporter list
--recursive
পটভূমি: আপনি অপ্টস-ফাইল থেকে শুরু করে বিভিন্ন স্যুইচকে ওভাররাইড করতে পারবেন (শুরু করে --
) আপনি বিশ্বকে ওভাররাইড করতে পারবেন না । এই লিঙ্কটিরও কিছু ব্যাখ্যা রয়েছে।
ইঙ্গিত: যদি node_modules/.bin/mocha
আপনাকে বিভ্রান্ত করে, স্থানীয় প্যাকেজ মোচা ব্যবহার করতে। আপনি mocha
যদি এটি বিশ্বব্যাপী ইনস্টল করে থাকেন তবে ঠিক লিখতেও পারেন।
এবং যদি আপনি এর সুবিধাগুলি চান package.json
: তবুও: **/*
আপনার কাছ থেকে আইশ গ্লোবটি সরিয়ে ফেলুন mocha.opts
, সর্ব-পরীক্ষার জন্য এগুলি এখানে sertোকান , একক পরীক্ষার জন্য তাদের ছেড়ে যান:
"test": "mocha ./test/**/*.spec.js",
"test-watch": "mocha -R list -w ./test/**/*.spec.js",
"test-single": "mocha $1",
"test-single-watch": "mocha -R list -w $1",
ব্যবহার:
> npm run test
যথাক্রমে
> npm run test-single -- test/ES6.self-test.spec.js
(মনে রাখবেন --
!)
Warning: Could not find any test files matching pattern: $1
হাই হাই সমাধানগুলি আমার পক্ষে কার্যকর হয়নি। একটি একক পরীক্ষা চালানোর অন্য উপায়
mocha test/cartcheckout/checkout.js -g 'Test Name Goes here'
এটি একটি একক ফাইল এবং নির্দিষ্ট নাম দিয়ে একটি পরীক্ষা কেস চালাতে সহায়তা করে।
-g
এবং আপনার কোনও ফাইলের নাম নির্দিষ্ট করার প্রয়োজন হবে না। আপনি যদি যথেষ্ট পরিমাণে বাছাইকৃত একটি অভিব্যক্তি লিখতে না পারেন, তার অর্থ হল আপনি নিজের পরীক্ষার নামকরণ সঠিকভাবে করছেন না।
npm test <filepath>
যেমন:
npm test test/api/controllers/test.js
এখানে 'টেস্ট / এপিআই / কন্ট্রোলার / টেস্ট.জেএস' ফাইলপথ।
আপনি "এটি" কেবল চেষ্টা করতে পারেন
it.only('Test one ', () => {
expect(x).to.equal(y);
});
it('Test two ', () => {
expect(x).to.equal(y);
});
এর মধ্যে প্রথমটি শুধুমাত্র কার্যকর করবে
--forbid-only
সিআই / বিল্ড সার্ভারের মাধ্যমে পরীক্ষাগুলি কার্যকর না করা হয় । .only
মূল শাখায় ডুবে যাওয়ার এবং অন্যান্য পরীক্ষাগুলি নিঃশব্দ করার প্রবণতা রয়েছে যেহেতু তারা আর কার্যকর করবে না। আমি বিভিন্ন টেস্টগুলিকে একটি বিরোধী বৈশিষ্ট্য চালানোর জন্য কোড পরিবর্তন করার কার্যপ্রবাহের কথা ভাবতে এসেছি। পরীক্ষক রানার নির্ধারণ করা উচিত যে কোন পরীক্ষাগুলি কার্যকর করা উচিত (ওরফে ট্যাগযুক্ত পরীক্ষা) বিকাশকারী নয়।
it.only
রেপো সহ কোড কমিট করবেন না
Https://mochajs.org/#usage এ সন্ধান করা আমরা দেখতে পাই যে এটি সহজভাবে ব্যবহার
মোচা পরীক্ষা / মাইফাইল
কাজ করবে. আপনি শেষে '.js' বাদ দিতে পারেন।
এনপিএম পরীক্ষার সময় গ্রেপ পদ্ধতিটি কেন আমার পক্ষে কাজ করছে না তা নিশ্চিত নয়। এটি যদিও কাজ করে। আমার কিছু কারণে টেস্ট ফোল্ডারও নির্দিষ্ট করা দরকার।
এনপিএম পরীক্ষা - পরীক্ষা / sometest.js
--grep
কেবল@
ট্যাগগুলি থেকে ফিল্টার হয়েছিল ।