簡體   English   中英

如何在Junit中使用assertEquals解決此問題?

[英]How to fix this problem with assertEquals in Junit?

請幫助我解決以下問題,因為我的輸出是

"09:39:43.704 [main] INFO by.iba.gomel.ShapeController - 145"

但是我只需要“ 145” ShapeController.LOGGER.info("{}", ShapeController.sum);

@Test
public void testSumma() {

    final Shape[] newShapes = new Shape[5];
    ShapeController.initializeArray(newShapes);
    ShapeController.summa(newShapes);
    Assert.assertEquals("these objects should be  equal", "145", this.log.getLog());
}

如果不更改日志格式和類名,則可以使用this.log.getLog().split("ShapeController - ")[1]

但是要警惕這種硬編碼的東西。 無論如何,如果您更改了某些內容,此測試用例將中斷並通知您。

如果Java庫(例如Hamcrest)以數字或單詞(例如1)結尾,則可以在句子中進行斷言:

assertThat("myStringOfNote", endsWith("Note"))

可以將其轉換為您的用例:

assertThat(this.log.getLog(), endsWith("145"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM