Spockインタラクションのオーダーに関係なく、リスト上で一致させることは可能ですか?例えばSpockインタラクションのオーダーに依存しないコレクションコンテンツの一致
、私は次のような方法がある場合:
public void execute(List<User> users)
{
List<User> admins = users.stream().filter(User::isAdmin).collect();
worker.initAdmins(admins);
}
をそして私はworker.initAdmins
は次のように私は期待してユーザーと呼ばれていることをテストしたいと思います:
def test()
{
setup:
// initialize a list of Users, some admin some not
Collections.shuffle(users)
when:
task.execute(users)
then:
1 * worker.initAdmins(expectedAdminList)
}
問題私はListの順序を保証する方法がないので、私の対話が一致していないということです。これは回避できますか?
大丈夫ですが、十分ではありません。サイズも確認してください。 – Opal
@Opal間違いなく良い提案、私は答えを更新しました。ありがとう! –