0
私はテストランナーとしてjUnitを使用するキュウリのテストケースを作成しています。私は両方のオブジェクトが同じ要素を持っている場合にtrueをアサートするメソッドを使用しています。containsOnlyElementsOfは2つのオブジェクトを渡すとfalseを返します
assertThat(obj1).containsOnlyElementsOf(obj2)
しかし、両方のオブジェクトがまったく同じ要素と同じ値を持っていても、trueを返すわけではありません。ここにスタックトレースがあります。
java.lang.AssertionError:
Expecting:
<[[email protected],
[email protected],
[email protected],
[email protected]]>
to contain only:
<[[email protected],
[email protected],
[email protected],
[email protected]]>
elements not found:
<[[email protected],
[email protected],
[email protected],
[email protected]]>
and elements not expected:
<[[email protected],
[email protected],
[email protected],
[email protected]]>
at com.solambda.kronos.timesheet.steps.TimesheetSteps.i_get_the_following_timesheet s(TimesheetSteps.java:806)
at ✽.Then I get the following timesheets: (com/solambda/kronos/timesheet/Worker_list.feature:43)
似たような問題に直面したことがありますか?私が何かを逃しているか、適切にやり遂げていないところであれば教えてください。
これらのアサーションメソッドは、通常、要素( 'TimesheetListRowDto')とそれらの' equals'メソッドを比較することによって機能します。 'TimesheetListRowDto'の' equals'メソッドはどのように実装されていますか? –
@ThomasKlägerは、ApacheのコモンズからEqualsBuilder()を使用しています。 –
はい。問題はequalsメソッドで発生しました。このメソッドが正しく機能するように実装する必要があります –