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
soit dans l'API officielle de Jest , mais ce it
n'est pas le cas.
it
pourrait être là pour la familiarité et la migration à partir d'autres cadres.test
est sous l'aliasit
.Réponses:
Dans les documents, il est dit ici :
it
est un alias detest
. Ils sont donc exactement les mêmes.la source
Ils font la même chose, mais leurs noms sont différents et avec cela leur interaction avec le nom du test.
tester
Ce que vous écrivez:
Ce que vous obtenez en cas d'échec:
il
Ce que vous écrivez:
Ce que vous obtenez en cas d'échec:
Il s'agit donc de lisibilité et non de fonctionnalité. À mon avis, a
it
vraiment un point quand il s'agit de lire le résultat d'un test d'échec que vous n'avez pas écrit vous-même. Il permet de comprendre plus rapidement en quoi consiste le test.la source
it('does this thing', () => {})
plutôtit('should do this thing', () => {}
que son plus courttest('thing should do x')
peut être préféré à ceit('Should do X')
quiit
est souvent vague.Comme les autres réponses l'ont précisé, elles font la même chose.
Je crois que les deux sont proposés pour permettre soit 1) des tests de style " RSpec " comme:
ou 2) des tests de style " xUnit " comme:
Documents:
la source
comme le disent les plaisanteries, ce sont les mêmes: https://jestjs.io/docs/en/api#testname-fn-timeout
et décrire est juste pour quand vous préférez que vos tests soient organisés en groupes: https://jestjs.io/docs/en/api#describename-fn
describe(name, fn)
crée un bloc qui regroupe plusieurs tests associés. Par exemple, si vous avez un objet myBeverage qui est censé être délicieux mais pas acide, vous pouvez le tester avec:Cela n'est pas obligatoire - vous pouvez écrire les blocs de test directement au niveau supérieur. Mais cela peut être pratique si vous préférez que vos tests soient organisés en groupes.
la source
Jest n'a pas expliqué pourquoi ils ont deux versions pour la même fonctionnalité. Je suppose que c'est uniquement pour la convention. test pour les tests unitaires pour les tests d'intégration.
la source
Ce sont les mêmes choses. J'utilise TypeScript comme langage de programmation, et quand je regarde dans le fichier de définition du code source du package jest de /@types/jest/index.d.ts, je peux voir les codes suivants. Évidemment, il existe de nombreux noms différents de «test», vous pouvez utiliser n'importe lequel d'entre eux.
la source
it
ettest
c'est la même chose. Cela signifie simplement que leur type est le même. Je ne pense pas celabeforeAll
etafterAll
c'est la même chose même si leur type est le même.xit and xtest
saute les tests,it, fit, test
doit exécuter des tests. Merci pour votre réponse.