মোচার সাথে জাভাস্ক্রিপ্ট পরীক্ষা করা হচ্ছে - একটি পরীক্ষা ডিবাগ করার জন্য আমি কীভাবে কনসোল.লগ ব্যবহার করতে পারি?


104

আমি জাভাস্ক্রিপ্ট টেস্ট-রানার "মোচা" ব্যবহার করছি।

আমার একটি পরীক্ষা আছে যা ব্যর্থ হচ্ছে, তাই আমি এটি ব্যবহার করে এটি ডিবাগ করব console.log

কিন্তু যখন পরীক্ষাগুলি চালানো হয় তখন কোনও আউটপুট থাকে না (কেবল মোচা থেকে পরীক্ষার ফলাফল)। মনে হচ্ছে মোচা আমার console.logআউটপুটটি ক্যাপচার এবং দমন করেছে !

আমি আমার আউটপুটটি দেখানোর জন্য মোচাকে কীভাবে পেতে পারি? (পরীক্ষার জন্য যে ব্যর্থ হয়)?

সম্পাদনা করুন:

বিশাল ক্ষমা! - console.logপরীক্ষার সময় কাজ করে! আমি অবশ্যই এটির ফলাফল আউটপুট দমন করার আশা করছিলাম এবং আমি নিজের কোডটি সঠিকভাবে চেক করিনি। সাড়া দেওয়ার জন্য ধন্যবাদ। সুতরাং ... যা বলা হচ্ছে ... সম্ভবত উত্তীর্ণ হবে যে পরীক্ষাগুলির জন্য আউটপুটটি দমন করা উচিত? হুম ...

সম্পর্কিত নোটে: আমি ব্যবহার করতে চাই console.logকারণ আমি গ্রহটি ডিবাগারটি নোড.জেএস-তে সংযোগ স্থাপনের চেষ্টা করতে গিয়ে অনেক সমস্যায় পড়ছি

আমি কি একমাত্র এই কৌশলটি খুঁজে পাই? আপনি কিভাবে নোড.জেএস ডিবাগ করবেন? একটি ডিবাগার দিয়ে, বা console.logবিবৃতি দিয়ে?


ভাল চুক্তি! :) এই মুহূর্তে আমি এখনও মোকা পরীক্ষার মাধ্যমে খুব বেশি 'ডিবাগিং' নোড। আমি অদূর ভবিষ্যতে এমন একটি সময় দেখতে পাচ্ছি যখন আমি এখানে কয়েকটি বিকল্পগুলি তুলে ধরতে চাই: স্ট্যাকওভারফ্লো
জ্যাচ বনহাম

আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি নোড.জেএস এর জন্য গ্রহনটি ব্যবহার করবেন না, আইএমও ব্যবহার করার পক্ষে এটি সর্বোত্তম পরিবেশ নয়। জেটব্রেইনসের ওয়েবস্টোরম একটি দুর্দান্ত নোড.জেএস আইডিই, যদিও এতে অর্থ ব্যয় হয়। আপনি যদি নিখরচায় সন্ধান করেন, আমি সত্যিই নতুন ভিজ্যুয়াল স্টুডিও কোডটিকে পছন্দ করছি, নোড ডিবাগিং এবং নোড বিকাশকে সুন্দর করে তোলে এমন অন্যান্য বিষয়গুলির জন্য দুর্দান্ত বিল্ট-ইন সমর্থন রয়েছে।
dsw88

@ dsw88 - ওয়েবস্টোরমের সাথে আমার অভিজ্ঞতা হ'ল আমাদের ফাইল কাঠামোটি বৃহত্তর ও গভীর হতে শুরু করলে এটি ধীরে ধীরে ধীর হয়ে যায়। জাভা অ্যাপ্লিকেশনগুলি দিয়ে আমাকে পুরানো দিনের কথা মনে করিয়ে দিল।
kirk.burleson

2
@ Dsw88 যা লিখেছেন তা ছাড়াও: ভিএস কোড ব্যবহার করুন: একটি "ডিবাগার" sertোকান; আপনার কোড কোথাও বিবৃতি। --Inspect-brk বিকল্প দিয়ে আপনার পরীক্ষা শুরু করুন এবং ভিএস কোড ডিবাগিং ক্রিয়া "নোডজেস সংযুক্ত করুন" ব্যবহার করুন। ডিবাগারটি মোচা স্ক্রিপ্টের প্রথম লাইনে শুরু হয় এবং আপনাকে একবার পুনরায় শুরু করতে হবে। পরের বার আপনার "ডিবাগার"; বিবৃতি পৌঁছেছে, আপনি যেতে ভাল।
FabianTe

উত্তর:


49

আপনি কোন মোচা বিকল্পগুলি ব্যবহার করছেন?

প্রতিবেদক (-আর) বা ইউআই (-উই) ব্যবহৃত হচ্ছে এর সাথে এটি করার কিছু হতে পারে?

console.log(msg);

আমার পরীক্ষা চলাকালীন সূক্ষ্ম কাজ করে, যদিও মাঝে মাঝে কিছুটা বোকা মিশ্রিত হয়। সম্ভবত পরীক্ষার রান async প্রকৃতির কারণে।

এখানে আমি বিকল্পগুলি ব্যবহার করছি (মোচা.ওপটস):

--require should
-R spec
--ui bdd

হুম..অনুষ্ঠান কোনও মোচা.পপস ছাড়াই পরীক্ষিত এবং console.logএখনও কাজ করে।


4
লগ () আসলে অনেক কি?
PositiveGuy

32

আপনি যদি অ্যাসিক্রোনাস কোড পরীক্ষা করছেন, আপনাকে done()সেই অ্যাসিনক্রোনাস কোডটির কলব্যাকে স্থান দেওয়ার বিষয়টি নিশ্চিত করতে হবে make কোনও REST এপিআইএল-র অনুরোধের পরীক্ষার সময় আমার এই সমস্যা ছিল।


20

আপনি console.logএকটি প্রত্যাশার পরেও এটি স্থাপন করতে পারেন যা ব্যর্থ হয় এবং তা অবহেলিত থাকে, তাই আপনার লগ লাইনটি কখনই কার্যকর হয় না।


2
হ্যাঁ, এটি আমার সমস্যা ছিল, এটি প্রস্তাব দেওয়ার জন্য ধন্যবাদ। আমি ব্যর্থ। অভিজ্ঞতার আগে কনসোল লগগুলিতে সরিয়েছি এবং তারা এখন দেখায়।
redfox05

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