জেস্টের জন্য কোড কভারেজ


131

জাভাস্ক্রিপ্ট জাস্ট টেস্টিং ফ্রেমওয়ার্কে জেসমিনের উপরে নির্মিত কোনও কোড কভারেজ থাকার উপায় আছে কি?

অভ্যন্তরীণ কাঠামোটি কোড কভারেজটি পায় সেটি মুদ্রণ করে না । আমি ইস্তাম্বুল , কম্বল এবং জেএসকোভার ব্যবহার করার চেষ্টা করেছি , কিন্তু তাদের কোনওটিই কাজ করে না।


আমি খুব ঠাট্টার মধ্যে আছি না, তবে আপনি কনফিগারেশন.কলেভারেজ দেখেছেন ?
সিরো কোস্টার

উত্তর:


123

জেস্ট 21.2.1 ব্যবহার করার সময় , আমি কমান্ড লাইনে কোড কভারেজ দেখতে পারি --coverageএবং জাস্ট স্ক্রিপ্টে পাস করে একটি কভারেজ ডিরেক্টরি তৈরি করতে পারি। নীচে কয়েকটি উদাহরণ দেওয়া হল:

আমি স্থানীয়ভাবে জেস্ট ইনস্টল করার প্রবণতা রাখি, সেক্ষেত্রে কমান্ডটি দেখতে দেখতে এটি দেখতে পারে:

npx jest --coverage

আমি ধরে নিলাম (যদিও এটি নিশ্চিত করা হয়নি), আমি যদি জেস্টকে বিশ্বব্যাপী ইনস্টল করি তবে এটিও কাজ করবে:

jest --coverage

খুব স্পর্শযুক্ত ডকস এখানে রয়েছে

আমি যখন মধ্যে নেভিগেট কভারেজ / lcov-রিপোর্ট ডিরেক্টরি আমি একজন পাওয়া index.html করে একটি ব্রাউজারে লোড করা যায়নি ফাইল। এটিতে কমান্ড লাইনে মুদ্রিত তথ্য, অতিরিক্ত তথ্য এবং কিছু গ্রাফিকাল আউটপুট অন্তর্ভুক্ত ছিল।


7
গ্লোবাল মডিউলগুলি কখনই ব্যবহার করবেন না। সংস্করণ ধারাবাহিকতা এবং প্যাকেজ উপস্থিতি নিশ্চিত করতে, সর্বদা node_modulesমাধ্যমে সম্পাদনযোগ্য ব্যবহার করুন ./node_modules/.bin/jest --coverage। যতক্ষণ না প্যাকেজটির নাম প্যাকেজ.জসনে রয়েছে, আপনি আশা করেছেন এমন বিদ্রূপের সঠিক সংস্করণ দিয়ে আপনি মৃত্যুদণ্ডের গ্যারান্টি দিতে পারেন।
টায়স্ট্যাক

কেবল পরিবর্তিত ফাইলগুলির জন্য কীভাবে উপহাস পাবেন?
শানিকা এডিরিভিরা

কাভারেজ নির্দিষ্ট সীমাবদ্ধতার নিচে থাকলে পরীক্ষায় ব্যর্থ হওয়ার কী সহজ উপায় আছে? সংশ্লিষ্ট এসও-প্রশ্ন: স্ট্যাকওভারফ্লো.com
স্টেফান


88

আপডেট: 7/20/2018 - কভারেজের জন্য যুক্ত লিঙ্ক এবং আপডেট হওয়া নামটি র‌্যাপার্স।

আপডেট: 8/14/2017 - এই উত্তরটি সম্পূর্ণ পুরানো। জাস্ট ডক্স এখনই দেখুন। এটি কীভাবে করবেন সে সম্পর্কে তাদের সরকারী সমর্থন এবং ডকুমেন্টেশন রয়েছে।

@ হানখসিয়াও একটি কাঁটাযুক্ত রেপো পেয়েছেন যেখানে ইস্তাম্বুল জেস্টের সাথে কাজ করছেন। আপনার ডেভ নির্ভরতা এ এটি যোগ করুন

 "devDependencies": {
     "jest-cli": "git://github.com/hankhsiao/jest.git"
 }

আপনার প্যাকেজ.জসন জাস্ট এন্ট্রিতে কভারেজ সক্ষম হয়েছে তা নিশ্চিত করুন এবং আপনি যে ফর্ম্যাটগুলি চান তা নির্দিষ্ট করতে পারেন। (এইচটিএমএল বেশ খারাপ গাধা)

 "jest": {
     "collectCoverage": true,
     "coverageReporters": ["json", "html"],
 }

কভারেজের জন্য জাস্ট ডকুমেন্টেশন দেখুন রিপোর্টাররা (ডিফল্ট হয় )["json", "lcov", "text"]

বা --coverageআপনি যখন ঠাট্টা করবেন তখন যুক্ত করুন ।


1
কভারেজ ফর্ম্যাট বিকল্পটি সরানো হয়েছে - দেখে মনে হচ্ছে জসন এবং এইচটিএমএল উভয়ই প্রতিবার তৈরি করা হয়েছে।

1
আমি - কভারেজ বিকল্পটি ব্যবহার করি তবে একেবারে আলাদা কিছু হয় না।
জিবিবিআর

3
এটি (এখন) বলা হয় coverageReportersএবং ডিফল্ট হয় ["json", "lcov", "text"]ফেসবুক.
github.io/jest/docs/…

কাজ না, অজানা বিকল্প "কভারেজ ফরমেট" মান সহ "[জেএসন", "এইচটিএমএল"] পাওয়া গেছে।
শ্রিগমা

40

জানুয়ারী 2019: জাস্ট সংস্করণ 23.6

যে কেউ সম্প্রতি এই প্রশ্নের সন্ধান করছেন বিশেষত যদি ব্যবহার করে npmবা yarnসরাসরি পরীক্ষা করে থাকেন

বর্তমানে, আপনাকে কনফিগারেশন বিকল্পগুলি পরিবর্তন করতে হবে না

অনুযায়ী বিদ্রূপের বিষয় রূপে গ্রহণ অফিসিয়াল ওয়েবসাইট , আপনি কভারেজ প্রতিবেদন জেনারেট করতে নিম্নলিখিতগুলি করতে পারেন:

1- এনপিএম এর জন্য:

আপনি অবশ্যই --পাস করার আগে রাখা উচিত--coverageতামাশার তর্কটি

npm test -- --coverage

আপনি যদি --coverageসরাসরি বিনা চেষ্টা করে --তা কাজ করে না

2- সুতার জন্য:

আপনি --coverageসরাসরি উপহাসের যুক্তিটি পাস করতে পারেন

yarn test --coverage

1
কেবল পরিবর্তিত ফাইলগুলির জন্য কীভাবে উপহাস পাবেন?
শানিকা এডিরিভিরা

কবে থেকে পরিবর্তন? আপনি সম্ভবত এর --watchজন্য সেটিংসটি ব্যবহার করতে চান ।
কোহেন

1
এই উত্তরটির অবস্থা সম্পর্কে অনেক অনুমান করে package.json
এয়ারটোনিক্স

6

ঠিক আছে, আমার পূর্ববর্তী উত্তরটিকে অগ্রাহ্য করুন কারণ কেউ আমাকে বলেছে এটি সমস্যার সমাধান করেনি।

নতুন উত্তর:

1) সর্বশেষতম রসিকতা (v 0.22) পরীক্ষা করুন: https://github.com/facebook/jest

2) ফেসবুক দল কভারেজ রিপোর্টের অংশ হিসাবে ইসতানবুল রাখে এবং আপনি এটি সরাসরি ব্যবহার করতে পারেন।

3) ঠাট্টা কার্যকর করার পরে, আপনি কনসোল এবং কৌতুক দ্বারা সেট করা মূল ফোল্ডারের নীচে কভারেজ রিপোর্ট পেতে পারেন, আপনি জসন এবং এইচটিএমএল ফর্ম্যাটে কভারেজ রিপোর্ট পাবেন।

৪) এফওয়াইআই, আপনি এনপিএম থেকে ইনস্টল করলে আপনি সর্বশেষতম সংস্করণ নাও পেতে পারেন; তাই প্রথমে গিথুব চেষ্টা করে দেখুন এবং কভারেজটি আপনার যা প্রয়োজন তা নিশ্চিত করুন।


পুরানো উত্তর:

একই সমস্যা আছে। সংক্ষিপ্ত উত্তরটি: Istanbulএবং Jestএকসঙ্গে কাজ করছে না।

আরও বিশদ জন্য নিম্নলিখিত পৃষ্ঠাগুলি পরীক্ষা করুন:

https://github.com/facebook/jest/issues/101

জাস্টটি প্রাসঙ্গিক ব্যবহার করে যা নেটিভ কোডে একটি ভি 8 প্রসঙ্গে জেএস স্ক্রিপ্টগুলি চালায় যা এইভাবে ইস্তানবুলের সমস্ত প্রয়োজনীয় এবং vm.runInThisContext হুকগুলিকে বাইপাস করে। সুতরাং ইস্তানবুল কভারটি কার্যকর হবে না যেহেতু স্ট্যান্ডার্ড হুকিয়েবল নোড.জেএস ফাংশন ব্যবহার হচ্ছে না এবং প্রাক-ইনস্ট্রুমেন্টিং ফাইলগুলি কোনওভাবেই সহায়তা করবে না কারণ প্রতিটি পরীক্ষা নিজস্ব স্যান্ডবক্সে চালিত হয় এবং কভারেজ অবজেক্টকে স্ট্যাশ করার কোনও বিশ্বব্যাপী নেই।

@ সিরো কোস্টা: config.collectCoverageএটি 'টোডো' ফাংশন হিসাবে কাজ করছে না। উত্স কোড পরীক্ষা করুন।


প্রশ্নটি ছিল কীভাবে জেস্টের জন্য কোড কভারেজ পাবেন। যে ইস্তাম্বুল এবং জেস্ট একসাথে কাজ করবেন না এটি সত্য হতে পারে, তবে এটি প্রশ্নের উত্তর দেয় না।
ডেভিড রাবাব

0

যদি আপনি - কভারেজটি কাজ না করে সমস্যা হয় তবে এটি কভারেজ'র পাঠকদের 'টেক্সট' বা 'পাঠ্য-সংক্ষিপ্তকরণ' যুক্ত না করে সক্ষম করার কারণেও হতে পারে। দস্তাবেজগুলি থেকে: "দ্রষ্টব্য: এই বিকল্পটি সেট করা ডিফল্ট মানগুলিকে ওভাররাইট করে। কনসোল আউটপুটে কভারেজের সারাংশ দেখতে" পাঠ্য "বা" পাঠ্য-সারাংশ "যুক্ত করুন" " উৎস


0

আপনার প্যাকেজ.জসন ফাইলটি কনফিগার করুন

"পরীক্ষা": "জাস্ট - কভারেজ",

এখানে চিত্র বর্ণনা লিখুন

এখন চালান:

yarn test

সমস্ত পরীক্ষা শুরু হবে এবং আপনি রিপোর্ট পাবেন get এখানে চিত্র বর্ণনা লিখুন


-1

আমার একই সমস্যা ছিল এবং আমি এটি নীচের মত স্থির করেছি।

  1. সুতা ইনস্টল করুন npm install --save-dev yarn
  2. জাস্ট-ক্লিপ ইনস্টল করুন npm install --save-dev jest-cli
  3. এটি প্যাকেজ.জসনে যুক্ত করুন "jest-coverage": "yarn run jest -- --coverage"

আপনি পরীক্ষাগুলি লেখার পরে এনএমপি রান জাস্ট-কভারেজ কমান্ডটি চালান। এটি রুট ডিরেক্টরিতে কভারেজ ফোল্ডার তৈরি করবে। /coverage/icov-report/index.html কোড কভারেজের এইচটিএমএল ভিউ রয়েছে।

শুভ কোডিং!


8
সুতা ইনস্টল করার দরকার নেই।
কালো

-10

চুটজপাহ চেষ্টা করুন । আমি সবেমাত্র এটি ব্যবহার করেছি। এবং ভিজুয়াল স্টুডিওতে কীভাবে সংহত করতে হয় সে সম্পর্কে আমি এটি সম্পর্কে ব্লগ করেছি।

এইভাবে আমি চুতজপাহের সাথে কোড কভারেজ করেছি: http://francorobles.wordpress.com/2014/09/14/code-coverage-with-chutzpah/


চুটজপাথটি কম্বলের উপরে নির্মিত এবং আমি উপরে উল্লেখ করেছি যে জেস্ট এটির সাথে কাজ করে না।
অ্যালেক্স প্যালকুই

আকর্ষণীয় কারণ আমার সবেমাত্র কাজ করেছে। francorobles.wordpress.com/2014/09/14/…
ফ্রাঙ্কোবিলস

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