的是我想要做的一個例子:在JUnit測試中,我怎麼能斷言兩個數字是相等的,而不考慮它們的類型?
double delta = 0.000001d;
Number myNumber = resultOfSomeTestExecution();
Assert.assertEquals(5, myNumber, delta);
我想斷言,結果是5,或至少近5合理的增量區間內,但我不在乎它是否是一個整數,長,雙,BigDecimal,或其他。有沒有一個斷言庫可以做到這一點?
的是我想要做的一個例子:在JUnit測試中,我怎麼能斷言兩個數字是相等的,而不考慮它們的類型?
double delta = 0.000001d;
Number myNumber = resultOfSomeTestExecution();
Assert.assertEquals(5, myNumber, delta);
我想斷言,結果是5,或至少近5合理的增量區間內,但我不在乎它是否是一個整數,長,雙,BigDecimal,或其他。有沒有一個斷言庫可以做到這一點?
每個Number
實例都有一個doubleValue()
方法,您可以將其應用於測試執行的結果。
double delta = 0.000001d;
Number myNumber = resultOfSomeTestExecution();
Assert.assertEquals(5, myNumber.doubleValue(), delta);
的Number#doubleValue()
是一個有效的選擇,因爲整數和浮點數工作時,你不會失去精度。
使用.doubleValue()上mynumber的 - 它會做的伎倆:
Assert.assertEquals(5 myNumber.doubleValue(),三角洲);
我想你是指逗號,而不是加號!在其他情況下,代碼無效並使用不推薦使用的方法。 –
謝謝,更新。 –
我同意這樣做,更多的庫功能本來就不錯(比如在斷言失敗消息中顯示數字的具體類型等)。但是,因爲似乎沒有這樣的庫存在,所以我現在沒有時間寫一個... –