1
Filter
模擬オブジェクトがあり、テストメソッドに渡します。メソッドの変更Filter
メタプロパティ値。しかし、私のテストでは、私は古い価値を得る。Java Mockitoプロパティの新しい値を設定する方法
テストのためのorg.junit.ComparisonFailure:期待:項目[28140f6f5a]しかした:項目[3abf441213] org.junit.Assert.assertEquals(Assert.java:115) における...
@Test
public void testMetaValue() throws Exception{
when(f.getMetaData("last")).thenReturn("item3abf441213");
WebUK at = new WebUK();
at.setCollectingService(new TestCollectingServiceImpl());
Set<Ad> ads = at.getNewAds(f);
assertEquals(1, ads.size());
assertEquals("item28140f6f5a",f.getMetaData("last"));
}
オブジェクト:
public Set<Ad> getNewAds(Filter filter) throws Exception {
...
filter.setMetaData("last", ul.get(0).attr("id"));
...
}
'thenReturn'ではなく' thenAnswer'を使用して、適切な値を返す前に何らかの状態をチェックすることができます。 – khelwood
私は正しく動作していると思いますが、f.getMetadata( "last")のメソッドが偽装され、assertEqualsが "item3abf441213"を返し、 "item28140f6f5a"と比較すると、常に失敗します。違う? – cralfaro
私の目標は、getNewAdsメソッドのフィルタMetaData( "last")を "item3abf441213"から "item28140f6f5a"に変更したかどうかをテストすることです。 –