generateRandomByteInRange
という関数をテストしています。 それは失敗し、私はそれが得た正確な値を見たい(それは-127未満であっただけではない)。 私はtry-catchでアサートを囲みようとしましたが、コンソールにプリントできないのに何も起こりませんでした。Hamcrest - コンソールに出力
機能 -
byte generateRandomByteInRange(int minVal,int maxVal) {
Random rnd;
rnd = new Random();
return (byte) (rnd.nextInt(maxVal - minVal + 1) + minVal);
}
テスト -
@Test
public void generateRandomByteInRange() {
int res;
int minVal,maxVal;
minVal = 1;
maxVal = 3;
for (int i = 0; i < 100; i++) {
res = AF.generateRandomByteInRange(minVal, maxVal);
assertThat(res, is(both(greaterThanOrEqualTo(minVal)).and(lessThanOrEqualTo(maxVal))));
}
minVal = -127;
maxVal = 128;
for (int i = 0; i < 1000; i++) {
res = AF.generateRandomByteInRange(minVal, maxVal);
try {
assertThat(res, is(both(greaterThanOrEqualTo(minVal)).and(lessThanOrEqualTo(maxVal))));
} catch (Exception e) {
System.out.println(res);
}
}
}
テストが失敗したと私は(右に)、次のメッセージが表示されます
**例外の再試行**を忘れることなく追加することができます。あなたはまだテストが失敗するのを望んでいます。 *渡し*テストが実際にコンソールにエラーを表示したことを見落としても、そのエラーを忘れることはありません。 – GhostCat