কর্মের সাথে নোডেজের ব্যাকএন্ড কোড কীভাবে পরীক্ষা করা যায় (টেস্টাকুলার)


87

আমি আমার ব্যাকএন্ড ইউনিট পরীক্ষা চালানোর জন্য কর্মাকে কীভাবে সেটআপ করব (মোচা দিয়ে লেখা)? আমি যদি আমার ব্যাকএন্ড টেস্ট স্ক্রিপ্টটি এতে যোগ করি তবে files = []এটি অপরিবর্তিত রয়েছে তা উল্লেখ করে ব্যর্থ requireহয়।


এই করতে পারেন : সম্পন্ন করা নিয়ে আমার প্রকল্প এ বর্ণন github.com/noamtcohen/Narma
noamtcohen

উত্তর:


83

আপনি না। কর্মফল কেবল ব্রাউজার-ভিত্তিক কোড পরীক্ষা করার জন্য। আপনার যদি প্রথম প্রান্তে ব্যাকএন্ড এবং কর্ম / মোচা উপর মোচা পরীক্ষাগুলির সাথে একটি প্রকল্প থাকে তবে পরীক্ষাটি সেট করতে স্ক্রিপ্টগুলির অধীনে আপনার প্যাকেজ.জসন সম্পাদনা করার চেষ্টা করুন:mocha -R spec && karma run karma.con

তারপরে, যদি npm testসত্যটি ফিরে আসে, আপনি জানেন যে এটি করা বা স্থাপন করা নিরাপদ।


ধন্যবাদ! গ্রান্ট ব্যবহার করে আমি একটি সমাধান পেয়েছি যা আমি ইতিমধ্যে আমার প্রকল্পে স্থাপনের পরিকল্পনা করছিলাম। আমার নিজের উত্তর দেখুন।
সিলভাইন

মূলত জেএসের জন্য সমস্ত পরীক্ষার দৌড়করা তখন কোনও ব্রাউজারের উপর নির্ভর করে? এটি অকেজো।

4
মোচা এবং জেসমিন কোনও ব্রাউজারের উপর নির্ভর করে না এবং আপনি যখন হেডলেস ব্রাউজার চালাতে চান, তখন ফ্যান্টমজ ব্যবহারের বিষয়টি বিবেচনা করুন।
ড্যান কোহন

4
লক্ষ করুন যে পরীক্ষার জন্য ব্রাউজারের উপর নির্ভর করা খারাপ কিছু নয়। বিভিন্ন ধরণের পরীক্ষা রয়েছে এবং আপনার প্রয়োজনের উপর নির্ভর করে শেষ থেকে শেষ পরীক্ষাটি বৈধ। এমনকি ভিজ্যুয়াল রিগ্রেশন পরীক্ষা করা (ফেসবুকের হাক্সলে দেখুন) কিছু ক্ষেত্রে গুরুত্বপূর্ণ is
Ciro Costa

15

দেখে মনে হচ্ছে এটি করা যায় না (ধন্যবাদ @ ডানকোহন)। গ্রান্ট ব্যবহার করে আমার সমাধানটি এখানে দেওয়া হয়েছে:

  • কর্ম: আপনার karma.conf.js ফাইল আপডেট করুন

    • সেট autoWatch = false;
    • সেট singleRun = true;
    • সেট browsers = ['PhantomJS'];(ইনলাইন ফলাফল আছে)
  • গ্রান্ট:

    • npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
    • দুটি গ্রান্ট টাস্ক কনফিগার করুন (নীচে গ্রান্ট ফাইল দেখুন)

গ্রান্টফিল.জেএস:

module.exports = function (grunt) {
  grunt.loadNpmTasks('grunt-simple-mocha');
  grunt.loadNpmTasks('grunt-karma');

  grunt.initConfig({
    simplemocha: {
      backend: {
        src: 'test/server-tests.js'
      }
    },
    karma: {
      unit: {
        configFile: 'karma.conf.js'
      }
    }
  });

  // Default task.
  grunt.registerTask('default', ['simplemocha', 'karma']);
};
  • গ্রান্ট (alচ্ছিক): নির্দিষ্ট ফাইল বা পরীক্ষার জন্য ফাইলগুলি পরিবর্তন করার পরে চালানোর জন্য গ্রান্ট ওয়াচ কনফিগার করুন।

  • gruntকমান্ড ব্যবহার করে সমস্ত চালান ।


4
সুতরাং আপনার এখনও একটি ব্রাউজারের প্রয়োজন, এটি কেবল ব্রাউজারের শিরোনামহীন। সার্ভার পার্শ্ব পরীক্ষার জন্য কর্মফল অবশ্যই ব্যবহার করা যায় না How

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

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

আকর্ষণীয় পদ্ধতির। তবে আপনি কীভাবে নিশ্চিত হন যে সেল পরীক্ষাগুলি আপনার পরীক্ষার মধ্যে যথাযথভাবে স্বীকৃত?
dmvianna
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.