আমি আমার নোডজেএস অ্যাপ্লিকেশন পরীক্ষার জন্য মোচা ব্যবহার করছি। এর কোড কভারেজ বৈশিষ্ট্যটি কীভাবে ব্যবহার করতে হয় তা আমি বুঝতে সক্ষম নই। আমি এটি গুগল করার চেষ্টা করেছি কিন্তু কোনও সঠিক টিউটোরিয়াল পাইনি। সাহায্য করুন.
আমি আমার নোডজেএস অ্যাপ্লিকেশন পরীক্ষার জন্য মোচা ব্যবহার করছি। এর কোড কভারেজ বৈশিষ্ট্যটি কীভাবে ব্যবহার করতে হয় তা আমি বুঝতে সক্ষম নই। আমি এটি গুগল করার চেষ্টা করেছি কিন্তু কোনও সঠিক টিউটোরিয়াল পাইনি। সাহায্য করুন.
উত্তর:
আপনি কোড কভারেজ জন্য একটি অতিরিক্ত গ্রন্থাগার প্রয়োজন, আর কত শক্তিশালী এবং সহজ দ্বারা দূরে প্রস্ফুটিত হবে যাচ্ছি ইস্তানবুল হয়। আপনার মোচা পরীক্ষাগুলি পাস করার পরে নিম্নলিখিতটি চেষ্টা করুন:
npm install nyc
এখন, আপনার বিদ্যমান টেস্ট কমান্ডের সামনে কমান্ডটি এনআইসি রাখুন:
{
"scripts": {
"test": "nyc mocha"
}
}
istanbul.cmd cover C:\Users\{UserName}\AppData\Roaming\npm\node_modules\mocha\bin\_mocha
$(npm bin)
এটি একটি প্রমিত শর্টকাট ./node_modules/.bin/
, এবং বিন ফোল্ডারে istanbul/lib/cli.js
এ্যালাইজড istanbul
। সুতরাং এখানে একটি সংক্ষিপ্ত কমান্ড দেওয়া হয়েছে:$(npm bin)/istanbul cover $(npm bin)/_mocha -- --ui bdd -R spec -t 5000
istanbul cover node_modules/mocha/bin/_mocha -- -R spec
এখন ( ২০২০ ) ইস্তানবুল ব্যবহারের পছন্দের উপায়টি হল তার "স্টেট অফ দ্য আর্ট কমান্ড লাইন ইন্টারফেস" এনআইসি এর মাধ্যমে ।
প্রথমে এটি আপনার প্রকল্পে ইনস্টল করুন
npm i nyc --save-dev
তারপরে, যদি আপনার এনপিএম ভিত্তিক প্রকল্প থাকে তবে আপনার মোচা পরীক্ষাগুলির কোড কভারেজ কার্যকর করতে কেবল scripts
আপনার প্যাকেজ.জসন ফাইলের অবজেক্টের ভিতরে পরীক্ষা স্ক্রিপ্টটি পরিবর্তন করুন :
{
"scripts": {
"test": "nyc --reporter=text mocha"
}
}
এখন আপনার পরীক্ষা চালান
npm test
এবং আপনি আপনার কনসোলটিতে এর মতো একটি টেবিল দেখতে পাবেন, কেবলমাত্র আপনার পরীক্ষার ফলাফলের পরে:
শুধু ব্যবহার
nyc --reporter=html
পরিবর্তে text
। এখন এটি ভিতরে একটি প্রতিবেদন উত্পাদন করবে ./coverage/index.html
।
ইস্তাম্বুল বিভিন্ন ধরণের রিপোর্ট ফর্ম্যাটকে সমর্থন করে। আপনার জন্য সর্বাধিক দরকারী সন্ধান করার জন্য কেবলমাত্র এর রিপোর্টাগুলি দেখুন --reporter=REPORTER_NAME
আপনি যে প্রতিটি ফর্ম্যাট চান তার জন্য কেবল একটি বিকল্প যুক্ত করুন । উদাহরণস্বরূপ, সাথে
nyc --reporter=html --reporter=text
আপনার কনসোল এবং এইচটিএমএল প্রতিবেদন উভয়ই থাকবে।
কেবলমাত্র আপনার মধ্যে অন্য স্ক্রিপ্ট যুক্ত করুন package.json
এবং test
স্ক্রিপ্টটি কেবলমাত্র আপনার পরীক্ষা চালক (যেমন মোচা) দিয়ে রেখে দিন:
{
"scripts": {
"test": "mocha",
"test-with-coverage": "nyc --reporter=text mocha"
}
}
এখন এই কাস্টম স্ক্রিপ্টটি চালান
npm run test-with-coverage
কোড কভারেজ সহ পরীক্ষা চালাতে।
মোট কোডের কভারেজ 90% এর নিচে থাকলে ব্যর্থ:
nyc --check-coverage --lines 90
কমপক্ষে একটি ফাইলের কোড কভারেজ 90% এর নীচে থাকলে ব্যর্থ:
nyc --check-coverage --lines 90 --per-file
--reporter=html
সক্ষম হয়েছি কিন্তু এইচটিএমএল ফাইলটি সর্বদা খালি থাকে, অনাবৃত ব্লকগুলি বা% কভার ইত্যাদি সম্পর্কে কিছুই দেখানো হয় না কেবল টেবিলের শিরোনাম
Blanket.js এছাড়াও নিখুঁত কাজ করে।
npm install --save-dev blanket
আপনার পরীক্ষা / টেস্ট.জেএস এর সামনে
require('blanket')({
pattern: function (filename) {
return !/node_modules/.test(filename);
}
});
চালান mocha -R html-cov > coverage.html
istanbul cover node_modules/mocha/bin/_mocha
।