1
Ich habe Filter
Mock-Objekt und übergeben Sie es zur Testmethode. Es Änderung der Methode Filter
Meta-Eigenschaft Wert. Aber in meinem Test bekomme ich alten Wert.Java Mockito Wie setze ich einen neuen Wert für die Eigenschaft
org.junit.ComparisonFailure: erwartet: item [28140f6f5a] aber war: item [3abf441213] bei 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"));
}
Objekt für den Test:
public Set<Ad> getNewAds(Filter filter) throws Exception {
...
filter.setMetaData("last", ul.get(0).attr("id"));
...
}
Sie könnten 'thenAnswer' anstelle von' thenReturn' verwenden und einen bestimmten Zustand überprüfen lassen, bevor Sie den entsprechenden Wert eingeben. – khelwood
Ich denke, funktioniert richtig, was Sie verspottet wurde die Methode f.getMetadata ("last"), dann in der assertEquals wird zurückkehren "item3abf441213" und Sie vergleichen mit "item28140f6f5a" so wird immer scheitern, ich habe Ihr Beispiel verstanden falsch? – cralfaro
Mein Ziel ist es zu testen oder nach getNewAds Methodenfilter MetaData ("last") von "item3abf441213" zu "item28140f6f5a" geändert. –