Jest按照什么顺序运行测试



我正在写一些测试,针对我在JS中使用Jest制作的纸牌游戏。

到目前为止,我写了两个测试;一个测试一副52张牌,另一个测试玩家在第一轮是否抽到两张牌:

const { Deck, Player} = require("./cardgame")
let deck = new Deck()
deck = deck.createDeck()
let player = new Player()
player.openinghand(deck)
test('Expects Deck to have 52 cards', () => {
expect(deck.length).toBe(52);
});
test('Expects Players opening hand to have 2 cards', () => {
expect(player.hand.length).toBe(2)
});

所以当我运行测试时,只有第二个通过。我理解为什么它会失败,因为甲板长度不再等于52。Jest是否同时运行所有测试,而不是按照编写顺序运行?我该如何通过这两项测试?

单元测试应该是幂等。无论执行顺序和执行次数如何,结果都应该是相同的。

您需要确保测试环境、双重测试、测试数据对于每个测试用例都是独立的。

从您的代码来看,这两个测试用例似乎共享一个测试数据。这可能导致一个测试用例修改它会影响其他测试用例的潜在风险。

最新更新