javascript जेस्ट में 'इट' और 'टेस्ट' में क्या अंतर है?




unit-testing jestjs (4)

एक ही काम करते हैं, लेकिन उनके नाम अलग हैं और इसके साथ परीक्षण के नाम के साथ उनकी बातचीत है।

परीक्षा

आपका लेखन क्या है:

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 वास्तव में एक बिंदु है जब यह एक असफल परीक्षा के परिणाम को पढ़ने के लिए आता है जो आपने खुद नहीं लिखा है। यह समझने में तेजी से मदद करता है कि परीक्षण किस बारे में है।

मेरे परीक्षण समूह में मेरे दो परीक्षण हैं। एक परीक्षण का उपयोग करता है, और वे बहुत समान रूप से काम करने लगते हैं। उनके बीच क्या अंतर है?

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 नहीं है।


docs यह here कहा गया here : it test उपनाम है। तो वे बिलकुल एक जैसे हैं।


वे एक जैसी ही चीज हैं। मैं प्रोग्रामिंग भाषा के रूप में टाइपस्क्रिप्ट का उपयोग कर रहा हूं, और जब मैं /@types/jest/index.d.ts से jest पैकेज स्रोत कोड से परिभाषा फ़ाइल में देखता हूं, तो मैं निम्नलिखित कोड देख सकता हूं। जाहिर है कि 'परीक्षण' के विभिन्न नाम हैं, आप उनमें से किसी का भी उपयोग कर सकते हैं।

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;


जैसा कि अन्य उत्तरों ने स्पष्ट किया है, वे एक ही काम करते हैं।

मेरा मानना ​​है कि दोनों को 1 के लिए अनुमति देने की पेशकश की गई है) " RSpec " स्टाइल टेस्ट

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);
});

डॉक्स:







jestjs