我創建了一個PokerHand類,並使用JUnit測試來測試它,並且出於某種原因,當我在一個測試方法中調用它時,我構造函數被調用了8次,當時我創建了一個PokerHand對象。被多次調用的Java構造函數
PokerHand構造(增加了打印語句來看看它是如何多次被調用,版畫8單獨次):
//Constructor
public PokerHand (Card cardOne, Card cardTwo, Card cardThree, Card cardFour, Card cardFive) {
System.out.println("creating hand...");
//Initialize value array
value = new int[6];
//Initialize cards list, add cards, and check for duplicates
cards = new ArrayList<Card>();
cards.add(cardOne);
if (cards.contains(cardTwo)) {
throw new DuplicateCardException();
} else cards.add(cardTwo);
if (cards.contains(cardThree)) {
throw new DuplicateCardException();
} else cards.add(cardThree);
if (cards.contains(cardFour)) {
throw new DuplicateCardException();
} else cards.add(cardFour);
if (cards.contains(cardFive)) {
throw new DuplicateCardException();
} else cards.add(cardFive);
determineValueOfHand();
}
測試用例:
@Test
public void testFlush() {
PokerHand a = new PokerHand(D10, DJ, DQ, DK, DA);
}
我一直盯着一段時間的屏幕,我是新來的JUnit測試和日食,所以我相信我只是錯過了一個小細節。任何幫助是極大的讚賞
你還有什麼在你的測試班?例如,因爲'D10'沒有在這裏聲明,所以必須是其他的東西。 – Brick
你能爲包含你的測試的類提供完整的代碼嗎? –
@Brick我在測試類中創建了所有52個不同的Card對象 – Lanre