Jest 运行 它的测试顺序是什么?

In what order does Jest run its tests?

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

到目前为止我写了两个测试;一个测试创建了一副 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 运行 所有测试是否同时进行,而不是按编写顺序进行?我怎样才能让它通过这两个测试?

单元测试应该幂等。无论执行顺序如何,执行多少次,结果应该是一样的。

您需要确保每个测试用例的测试环境、测试替身、测试数据独立

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