JUnit Assert を使用するよりも大きいアサートを行うにはどうすればよいでしょうか? 質問する

JUnit Assert を使用するよりも大きいアサートを行うにはどうすればよいでしょうか? 質問する

これらの値はテストから得たものです

previousTokenValues[1] = "1378994409108"
currentTokenValues[1] = "1378994416509"

そして私は試す

    // current timestamp is greater
    assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));

デバッグ時にはjava.lang.AssertionErrorが表示されます。detailMessagenull

使用時に条件より大きいことを主張するにはどうすればいいですか?JUnit

ベストアンサー1

まさにあなたがそれをやった方法。assertTrue(boolean)また、オーバーロードがありますassertTrue(String, boolean)ここで、 はString失敗した場合のメッセージです。これは、それが何某より大きくなかったことを印刷する場合に使用できます。

hamcrest-allマッチャーを使用するために依存関係として追加することもできます。https://code.google.com/p/hamcrest/wiki/チュートリアル:

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.*;

assertThat("timestamp",
           Long.parseLong(previousTokenValues[1]),
           greaterThan(Long.parseLong(currentTokenValues[1])));

次のようなエラーが発生します:

java.lang.AssertionError: timestamp
Expected: a value greater than <456L>
     but: <123L> was less than <456L>

おすすめ記事