Saya memiliki dua tes dalam kelompok tes saya. Satu menggunakannya, yang lain menggunakan tes, dan mereka tampaknya bekerja sangat mirip. Apa perbedaan di antara mereka?
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);
})
});
});
MEMPERBARUI:
Tampaknya test
ada di API resmi Jest , tetapi it
tidak.
javascript
unit-testing
jestjs
C.Lee
sumber
sumber
it
mungkin saja ada untuk keakraban dan migrasi dari kerangka kerja lain.test
berada di bawah aliasit
.Jawaban:
Dalam dokumen itu tertulis di sini :
it
adalah aliastest
. Jadi mereka persis sama.sumber
Mereka melakukan hal yang sama, tetapi nama mereka berbeda dan dengan itu interaksi mereka dengan nama ujian.
uji
Apa yang Anda tulis:
Apa yang Anda dapatkan jika sesuatu gagal:
Itu
Apa yang kamu tulis:
Apa yang Anda dapatkan jika sesuatu gagal:
Jadi ini tentang keterbacaan bukan tentang fungsionalitas. Menurut pendapat saya,
it
ada benarnya ketika datang untuk membaca hasil dari tes gagal yang belum Anda tulis sendiri. Ini membantu untuk lebih cepat memahami tentang apa tes ini.sumber
it('does this thing', () => {})
daripadait('should do this thing', () => {}
yang lebih pendektest('thing should do x')
mungkin lebih disukaiit('Should do X')
sebagaiit
sering kabur.Seperti jawaban lain telah menjelaskan, mereka melakukan hal yang sama.
Saya percaya keduanya ditawarkan untuk memungkinkan 1) tes gaya " RSpec " seperti:
atau 2) tes gaya " xUnit " seperti:
Docs:
sumber
seperti kata jest docs, semuanya sama: https://jestjs.io/docs/en/api#testname-fn-timeout
dan jelaskan hanya untuk saat Anda lebih suka tes Anda disusun dalam grup: https://jestjs.io/docs/en/api#describename-fn
describe(name, fn)
membuat blok yang mengelompokkan beberapa tes terkait. Misalnya, jika Anda memiliki objek myBeverage yang seharusnya lezat tetapi tidak asam, Anda dapat mengujinya dengan:Ini tidak diperlukan - Anda dapat menulis blok uji langsung di tingkat atas. Tetapi ini bisa berguna jika Anda lebih suka tes Anda disusun dalam kelompok.
sumber
Jest belum menyebutkan mengapa mereka memiliki dua versi untuk fungsi yang sama persis. Dugaan saya, itu hanya untuk konvensi. tes untuk unit mengujinya untuk tes integrasi.
sumber
Mereka adalah hal yang sama. Saya menggunakan TypeScript sebagai bahasa pemrograman, dan ketika saya melihat file definisi dari kode sumber paket jest dari /@types/jest/index.d.ts, saya bisa melihat kode-kode berikut. Jelas ada banyak nama 'ujian' yang berbeda, Anda dapat menggunakan salah satu dari mereka.
sumber
it
dantest
merupakan hal yang sama. Itu hanya berarti bahwa tipenya sama. Saya tidak berpikir itubeforeAll
danafterAll
merupakan hal yang sama meskipun tipenya sama.xit and xtest
melewatkan tes,it, fit, test
adalah untuk menjalankan tes. Terima kasih atas jawaban anda.