web-dev-qa-db-fra.com

Quelle est la différence entre 'it' et 'test' en plaisanterie?

J'ai deux tests dans mon groupe de test. L'un l'utilise, l'autre le test, et ils semblent fonctionner de manière très similaire. Quelle est la différence entre eux?

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

UPDATE:

Il semble que test soit l'API officielle de Jest , mais it ne l'est pas.

174
C.Lee

Dans le docs il est dit ici : it est un alias de test. Donc, ils sont exactement les mêmes.

230
musicformellons

Comme les autres réponses l'ont précisé, ils font la même chose.

Je crois que les deux sont proposés pour permettre soit 1) des tests de style " RSpec " comme:

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

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

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

ou 2) Des tests de style " xUnit " comme:

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

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

Docs:

9
Rich

Les font la même chose, mais leurs noms sont différents et avec cela leur interaction avec le nom du test.

test

Qu'est-ce que tu écris:

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

Qu'est-ce que vous obtenez si quelque chose échoue:

yourModule > if it does this thing

il

Ce que vous écrivez:

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

Qu'est-ce que vous obtenez si quelque chose échoue:

yourModule > should do this thing

C'est donc une question de lisibilité et non de fonctionnalité. À mon avis, it a vraiment un sens lorsqu'il s'agit de lire le résultat d'un test qui a échoué et que vous n'avez pas écrit vous-même. Cela aide à comprendre plus rapidement de quoi parle le test.

4
gwildu