ঠাট্টায় 'এটি' এবং 'পরীক্ষার' মধ্যে পার্থক্য কী?


279

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

describe('updateAll', () => {
  it('no force', () => {
    return updateAll(TableName, ["fileName"], {compandId: "test"})
        .then(updatedItems => {
          let undefinedCount = 0;
          for (let item of updatedItems) {
            undefinedCount += item === undefined ? 1 : 0;
          }
          // console.log("result", result);
          expect(undefinedCount).toBe(updatedItems.length);
        })
  });

  test('force update', () => {
    return updateAll(TableName, ["fileName"], {compandId: "test"}, true)
        .then(updatedItems => {
          let undefinedCount = 0;
          for (let item of updatedItems) {
            undefinedCount += item === undefined ? 1 : 0;
          }
          // console.log("result", result);
          expect(undefinedCount).toBe(0);
        })
  });
});

হালনাগাদ:

মনে হচ্ছে যে testহয় ঠাট্টা অফিসিয়াল এপিআই কিন্তু itনয়।


itঅন্য ফ্রেমওয়ার্ক থেকে পরিচিতি এবং মাইগ্রেশনের জন্য কেবল সেখানে থাকতে পারে।
অ্যান্ড্রু লি

23
এখানে কোন পার্থক্য নেই. ডকুমেন্টেশনটি স্পষ্টভাবে জানিয়েছে testযে নামটির অধীনে রয়েছে it
Claies

উত্তর:



34

তারা একই কাজ করে তবে তাদের নাম আলাদা এবং পরীক্ষার নামের সাথে তাদের মিথস্ক্রিয়া।

পরীক্ষা

আপনার লেখা কি:

describe('yourModule', () => {
  test('if it does this thing', () => {});
  test('if it does the other thing', () => {});
});

কিছু ব্যর্থ হলে আপনি কী পাবেন:

yourModule > if it does this thing

এটা

তুমি যা লেখো:

describe('yourModule', () => {
  it('should do this thing', () => {});
  it('should do the other thing', () => {});
});

কিছু ব্যর্থ হলে আপনি কী পাবেন:

yourModule > should do this thing

সুতরাং এটি পাঠ্যতা সম্পর্কে যা কার্যকারিতা সম্পর্কে নয়। আমার মতে, itআপনি নিজের লেখেন নি এমন একটি ব্যর্থ পরীক্ষার ফলাফল পড়ার কথা আসলেই আসে। এটি পরীক্ষাটি কী তা দ্রুত বুঝতে সহায়তা করে।


4
কেউ কেউ এর সংক্ষিপ্ত হিসাবে it('does this thing', () => {})পরিবর্তে পছন্দ করেনit('should do this thing', () => {}
gwildu

বিকল্পভাবে, প্রায়শই অস্পষ্ট হিসাবে test('thing should do x')পছন্দ করা যেতে পারে । it('Should do X')it
মাইকমেকানা 16

21

অন্যান্য উত্তরগুলি যেমন স্পষ্ট করেছে, তারা একই কাজ করে।

আমি বিশ্বাস করি যে উভয়কেই ১) " আরএসপেক " স্টাইল পরীক্ষার জন্য অনুমতি দেওয়ার জন্য প্রস্তাব করা হয়েছে :

const myBeverage = {
  delicious: true,
  sour: false,
};

describe('my beverage', () => {
  it('is delicious', () => {
    expect(myBeverage.delicious).toBeTruthy();
  });

  it('is not sour', () => {
    expect(myBeverage.sour).toBeFalsy();
  });
});

বা 2) " xUnit " শৈলী পরীক্ষা:

function sum(a, b) {
  return a + b;
}

test('sum adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

দস্তাবেজ:


2

জাস্ট ডকস যেমন বলেছে, সেগুলি একই: https://jestjs.io/docs/en/api#testname-fn-timeout

পরীক্ষা (নাম, এফএন, সময়সীমা)

উপনামের নীচে: এটি (নাম, এফএন, সময়সীমা)

এবং বর্ণনাটি কেবল তার জন্য যখন আপনি নিজের পরীক্ষাগুলি গোষ্ঠীতে সংগঠিত করতে পছন্দ করেন: https://jestjs.io/docs/en/api#describeename-fn

বর্ণনা (নাম, এফএন)

describe(name, fn)একটি ব্লক তৈরি করে যা বেশ কয়েকটি সম্পর্কিত পরীক্ষাকে এক সাথে গ্রুপ করে। উদাহরণস্বরূপ, যদি আপনার কাছে একটি মাই বেভারেজ অবজেক্ট থাকে যা মনে হয় সুস্বাদু তবে টক নয়, আপনি এটি দিয়ে পরীক্ষা করতে পারেন:

const myBeverage = {
  delicious: true,
  sour: false,
};

describe('my beverage', () => {
  test('is delicious', () => {
    expect(myBeverage.delicious).toBeTruthy();
  });

  test('is not sour', () => {
    expect(myBeverage.sour).toBeFalsy();
  });
});

এটি প্রয়োজনীয় নয় - আপনি শীর্ষ স্তরে সরাসরি পরীক্ষা ব্লকগুলি লিখতে পারেন। তবে আপনি যদি আপনার পরীক্ষাগুলিকে দলগুলিতে সংগঠিত করতে পছন্দ করেন তবে এটি কার্যকর হতে পারে।


-4

জাস্ট তাদের ঠিক একই কার্যকারিতাটির জন্য দুটি সংস্করণ কেন উল্লেখ করেনি। আমার অনুমান, এটি কেবল সম্মেলনের জন্য। ইউনিট পরীক্ষার জন্য এটি ইন্টিগ্রেশন পরীক্ষার জন্য পরীক্ষা করে।


-22

তারা একই জিনিস। আমি প্রোগ্রামিং ভাষা হিসাবে টাইপস্ক্রিপ্ট ব্যবহার করছি এবং / /tyty/jest/index.d.ts থেকে জেস্ট প্যাকেজ উত্স কোড থেকে সংজ্ঞা ফাইলটি যখন দেখি তখন নীচের কোডগুলি দেখতে পাচ্ছি। স্পষ্টতই 'পরীক্ষা' এর বিভিন্ন নাম প্রচুর রয়েছে, আপনি এগুলির যে কোনওটি ব্যবহার করতে পারেন।

declare var beforeAll: jest.Lifecycle;
declare var beforeEach: jest.Lifecycle;
declare var afterAll: jest.Lifecycle;
declare var afterEach: jest.Lifecycle;
declare var describe: jest.Describe;
declare var fdescribe: jest.Describe;
declare var xdescribe: jest.Describe;
declare var it: jest.It;
declare var fit: jest.It;
declare var xit: jest.It;
declare var test: jest.It;
declare var xtest: jest.It;


25
আপনার প্রদর্শিত কোডটি এটি নির্দেশ করে না itএবং testএকই জিনিস। এটির অর্থ কেবল তাদের ধরণের একই। আমি তা মনে করি না beforeAllএবং afterAllতাদের ধরণ একই হলেও একই জিনিস।
realUser404

2
xit and xtestপরীক্ষা এড়িয়ে যায়, পরীক্ষা it, fit, testচালানো হয়। আপনার উত্তরের জন্য ধন্যবাদ.
আকাশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.