4

ランダムな整数値のセット数を取得する Groovy 配列があります。そして、配列内の各項目が指定された範囲内の値を持つことを主張したいと思います。Hamcrest Matchers を使用しようとしています。したがって、私のテストは次のようになります。

@Test
void testShouldReturnArrayOfStats(){
    def results = pg.rollStats()
    assertThat results, everyItem(both(greaterThan(0)).and(lessThanOrEqualTo(6)))
}

テストを実行すると、assertionError が発生します

java.lang.AssertionError: Expected: every item is (a value greater than <0> and a value less than or equal to <6>)
 but: was [<6>, <3>, <5>, <4>, <3>, <2>]

これのいくつかのバリエーションを試しましたが、合格テストを受けていません。エラーの "But:was" 部分を見るだけで、6 つの値すべてが要件を満たしていることがわかりますが、テストは失敗します。

私は Groovy や Hamcrest を長い間使用していないので、何かが欠けていると確信しています。ありがとう

4

1 に答える 1

5

groovyを使用できますか?

assert results.every { it in 1..6 }
于 2012-11-10T20:58:34.533 に答える