我正在針對我使用 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 是否同時運行所有測驗而不是按照它們撰寫的順序運行?我怎樣才能讓它通過兩個測驗?
uj5u.com熱心網友回復:
單元測驗應該是冪等的。不管執行的順序和執行多少次,結果應該是一樣的。
您需要確保每個測驗用例的測驗環境、測驗替身、測驗資料都是獨立的。
從您的代碼來看,這兩個測驗用例似乎共享一個測驗資料。這可能導致修改它的測驗用例會影響其他測驗用例的潛在風險。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/427893.html
標籤:javascript 单元测试 开玩笑的
上一篇:將資料從修改器傳遞給畫家
