Ответ 1
В документах здесь сказано: it
псевдоним test
. Так что они точно такие же.
У меня есть два теста в моей тестовой группе. Один использует его, другой использует тест, и они, похоже, работают очень похоже. В чем разница между ними?
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:
Кажется, что test
находится в официальном API Jest, но it
нет.
В документах здесь сказано: it
псевдоним test
. Так что они точно такие же.
Как выяснили другие ответы, они делают то же самое.
Я полагаю, что эти два варианта допускают 1) тесты в стиле " RSpec ", такие как:
const myBeverage = {
delicious: true,
sour: false,
};
describe('my beverage', () => {
it('is delicious', () => {
expect(myBeverage.delicious).toBeTruthy();
});
it('is not sour', () => {
expect(myBeverage.sour).toBeFalsy();
});
});
или 2) тесты стиля " xUnit ", такие как:
function sum(a, b) {
return a + b;
}
test('sum adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
Docs:
Они делают то же самое, но их имена разные и при этом их взаимодействие с именем теста.
тестовое задание
Что ты пишешь:
describe('yourModule', () => {
test('if it does this thing', () => {}
test('if it does the other thing', () => {}
})
Что вы получите, если что-то не получится:
yourModule > if it does this thing
Это
Что ты пишешь:
describe('yourModule', () => {
it('should do this thing', () => {}
it('should do the other thing', () => {}
})
Что вы получите, если что-то не получится:
yourModule > should do this thing
Так что это о читаемости не о функциональности. На мой взгляд, it
действительно имеет точку, когда дело доходит до чтения результата неисправного теста, что вы не написали сами. Это помогает быстрее понять, о чем идет речь.
Это одно и то же. Я использую TypeScript в качестве языка программирования, и когда я просматриваю файл определения из исходного кода пакета jest из /@types/jest/index.d.ts, я вижу следующие коды. Очевидно, что существует множество разных имен "test", вы можете использовать любое из них.
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;