1. ホーム
  2. java

[解決済み] JUnit Assertを使用して、より大きい値をアサーションするには?

2022-06-19 07:26:50

質問

私はテストから来るこれらの値を持っています

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

で、試しに

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

を取得します。 java.lang.AssertionErrordetailMessage はデバッグの際に null .

を使用しているときに、どのように greater than 条件をアサートすることができますか? JUnit

どのように解決するのですか?

どうやったかだけ。 assertTrue(boolean) にもオーバーロードがあり assertTrue(String, boolean) ここで String は失敗したときのメッセージです。「これとこれがこれより大きくなかった」と表示したいときに使います。

また hamcrest-all を依存関係として追加することもできます。参照 https://code.google.com/p/hamcrest/wiki/Tutorial :

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>