Γρήγορη αναφορά

Σκονάκι Διεπαφής TDD στο Mocha.js

Γρήγορος οδηγός αναφοράς για τη διεπαφή TDD του Mocha.js: suite, test, hooks setup/teardown, ασύγχρονες δοκιμές και assertions Chai expect.

· Δημοσιεύτηκε

Το Mocha παρέχει πολλαπλές διεπαφές δοκιμών. Ενώ η bdd χρησιμοποιεί describe() και it(), η διεπαφή tdd ακολουθεί συμβάσεις xUnit με suite() και test().

Ρύθμιση Διεπαφής TDD

const { expect } = require('chai');

// Ρύθμιση του Mocha για χρήση της διεπαφής TDD
mocha.setup('tdd');

suite('Payment Processing', () => {
  suiteSetup(() => {
    // Εκτελείται μία φορά πριν από όλες τις δοκιμές αυτής της σουίτας
  });

  suiteTeardown(() => {
    // Εκτελείται μία φορά μετά από όλες τις δοκιμές αυτής της σουίτας
  });

  setup(() => {
    // Εκτελείται πριν από κάθε δοκιμή
  });

  teardown(() => {
    // Εκτελείται μετά από κάθε δοκιμή
  });

  test('validates card expiration date', () => {
    const isValid = validateExpiry('12/28');
    expect(isValid).to.be.true;
  });

  test('handles async network payments', async () => {
    const receipt = await chargeCard(100);
    expect(receipt.status).to.equal('success');
  });
});

Σύγκριση: BDD έναντι TDD

Έννοια Διεπαφή BDD (bdd) Διεπαφή TDD (tdd)
Ομάδα Δοκιμών describe("name", () => {}) suite("name", () => {})
Μεμονωμένη Δοκιμή it("does something", () => {}) test("does something", () => {})
Hook Πριν από Όλες before(() => {}) suiteSetup(() => {})
Hook Μετά από Όλες after(() => {}) suiteTeardown(() => {})
Hook Πριν από Κάθε Δοκιμή beforeEach(() => {}) setup(() => {})
Hook Μετά από Κάθε Δοκιμή afterEach(() => {}) teardown(() => {})

Εκτέλεση Δοκιμών TDD μέσω CLI

Από προεπιλογή, το Mocha CLI χρησιμοποιεί τη διεπαφή BDD. Για να εκτελέσετε σουίτες TDD, περάστε --ui tdd:

mocha --ui tdd test/tdd/*.test.js

Αναφορές

Σχετικά θέματα