javascript - soleil - question a poser au notaire succession




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

Ce sont les mêmes choses. J'utilise TypeScript comme langage de programmation et lorsque je regarde dans le fichier de définition à partir du code source du paquet jest de /@types/jest/index.d.ts, je peux voir les codes suivants. Évidemment, il y a beaucoup de noms différents de «test», vous pouvez utiliser n'importe lequel d'entre eux.

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;

J'ai deux tests dans mon groupe de test. L'un l'utilise l'autre utilise 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);
        })
  });
});

METTRE À JOUR:

Il semble que ce test figure dans l'API officielle de Jest , mais it n'est pas le cas.


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:


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

tester

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 est vraiment utile 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.





jestjs