Mocha tillhandahåller flera testgränssnitt. Medan bdd använder describe() och it(), använder tdd-gränssnittet klassiska xUnit-konventioner med suite() och test().
Konfigurera TDD-gränssnittet
const { expect } = require('chai');
// Konfigurera Mocha att använda TDD-gränssnittet
mocha.setup('tdd');
suite('Payment Processing', () => {
suiteSetup(() => {
// Körs en gång före alla tester i denna svit
});
suiteTeardown(() => {
// Körs en gång efter alla tester i denna svit
});
setup(() => {
// Körs före varje enskilt test
});
teardown(() => {
// Körs efter varje enskilt test
});
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');
});
});
Jämförelse: BDD vs TDD
| Begrepp | BDD-gränssnitt (bdd) |
TDD-gränssnitt (tdd) |
|---|---|---|
| Testgrupp | describe("name", () => {}) |
suite("name", () => {}) |
| Enskilt test | it("does something", () => {}) |
test("does something", () => {}) |
| Hook före alla | before(() => {}) |
suiteSetup(() => {}) |
| Hook efter alla | after(() => {}) |
suiteTeardown(() => {}) |
| Hook före varje | beforeEach(() => {}) |
setup(() => {}) |
| Hook efter varje | afterEach(() => {}) |
teardown(() => {}) |
Köra TDD-tester via CLI
Som standard använder Mocha CLI BDD-gränssnittet. För att köra TDD-sviter, ange --ui tdd:
mocha --ui tdd test/tdd/*.test.js