TestklasseMockito.thenReturn (...) in nicht
public class CollectionImplementationUnitTest {
CollectionImplementation colImp;
public void setup() throws Exception {
...
colImp = Mockito.spy(new CollectionImplementation());
...
}
private String mockHistoryFromStrgyTable() {
String value1 = "myValue";
return value1;
}
@Test
public void testgetinfo(){
...
Mockito.when(
colImp.historyFromStrgyTable(
Mockito.anyString(),Mockito.anyString(),Mockito.anyString()
)
)
.thenReturn(mockHistoryFromStrgyTable());
CollectionsAccount Info = colImp.accountInfo(
"string1","string2","string3", new IdentityAcc(), TableLst
);
//sometestmethods and asserts
}
}
Klasse unter Test
public class CollectionImplementation {
...
@Override
public CollectionsAccount accountInfo(("string1","string2","string3", new IdentityAcc(), TableLst)) {
DetailsHelper helper = new (db2, "string",getmethod());
return helper.accountInfo("string1","string2", new IdentityAcc(), TableLst);
}
public String historyFromStrgyTable(){
//contains a call to the data base
}
}
DetailsHelper
public class DetailsHelper{
public CollectionsAccount accountInfo((String string1,String string2,String string3, new IdentityAcc(), TableLst)){
...
String paymentdetails = historyFromStrgyTable();
}
public String historyFromStrgyTable(){
//contains a call to the data base
}
}
zu arbeiten, wenn ich versuche, die Daten zu verspotten Für die Methode HistoryFromStrgyTable() ruft sie tatsächlich HistoryFromStrgyTable() auf Anzeige von mockHistoryFromStrgyTable().
Meine Testfälle werden auf dieser Linie versagt
Mockito.when(col_Imp.HistoryFromStrgyTable(Mockito.anyString(),
Mockito.anyString(),Mockito.anyString())).thenReturn( mockHistoryFromStrgyTable());
jemand mir dabei helfen kann. Ich verstehe nicht, was falsch ist. Ich habe auch die Methode mockHistoryFromStrgyTable() von privat auf öffentlich geändert, da mockito keine privaten Methoden vortäuschen kann.
Hinweis: Bitte studieren Sie Java Coding Style Guidelines. Dein Code sieht so aus, als ob du grundsätzlich gegen jede Regel/Konvention versuchst, wie Variablen-/Methoden-Namen aussehen sollten ;-( – GhostCat
Hey @GhostCat Tut mir leid. Soll ich die Klassen, Methoden und Variablen umbenennen. Oder kann Sie helfen mir dabei. [link] (http://stackoverflow.com/questions/38484623/create-a-junit-test-case-for-a-method-which-contains-a-acall-to- another-method-fr? noredirect = 1 # comment64376341_38484623) mit dem gleichen Problem. Mein Code sieht etwas wie das. Sie versucht, mir auch vorher zu helfen. Danke Mann – Random
Variablennamen sollten CamelCase sein. Dann: nein "_" in Java Namen (außer ALL_UPPERCASE_CONSTANTS). Methodennamen starten auch lowCase. – GhostCat