я есть следующий кодTestNG макет метод возвращает значение
private EditAttribute editAttr;
@Mock
private EditAttributeService editAttrServ;
@Mock
private EditAttributeDAO editAttributeDAO;
@DataProvider(name = "getNamesValues")
public Object[][] createData1() {
return new Object[][] {
{ new EditAttribute.Builder().bioId("abc").sheetId("12e").fid("9BD2B75E-3B00-11DF-B7E4-005056A3157F").context("[{\"id\": 'B8031714-F23B-11DF-8F44-005056A3157F_C4B10A72-F25C-11DF-8F44-005056A3157F',\"value\": \"123\"},{\"id\": '4AB3CB04-2527-11DF-994B-005056A3157F_00CA7BCA-3B9B-11DF-B7E4-005056A3157F' ,\"value\": \"12322\"}]").target("").value("").build() }
};
}
@BeforeClass
public void setUp() {
MockitoAnnotations.initMocks(this);
editAttrServ = new EditAttributeService();
}
@Test(dataProvider ="getNamesValues")
public void TestselectAttributes(EditAttribute editAttribute){
LinkedHashMap<String,LinkedList<String>> queryRes=new LinkedHashMap<String,LinkedList<String>>();
LinkedList<String> columnsnames=new LinkedList<String>();
columnsnames.add("city");
queryRes.put("ColumnName",columnsnames);
LinkedList<String> tableName=new LinkedList<String>();
tableName.add("Dim_Plant");
queryRes.put("TableName",tableName);
System.out.println("queryRes="+queryRes.size());
Mockito.when(editAttributeDAO.getNames("", "", "", "", "")).thenReturn(queryRes);
Assert.assertEquals(editAttrServ.selectAttribute(editAttribute,"","").size(),2);
}
Метод editAttributeDAO.getNames («», «», «», «», «») делает вызов метода класса ДАО. Я ожидаю, что этот метод не будет выполнен, так как я использовал mockito, когда и определяю возвращаемое значение. Однако кажется, что он терпит неудачу и метод вызван. Я делаю что-то неправильно?
BeforeClass обычно ожидает, что метод setUp будет статичным, а ссылка на «это» на самом деле не ожидается. Try Before (BeforeClass обычно генерирует исключение, если вы пытаетесь аннотировать нестационарный член, но я использую Mockito 2.0.2-бета). См .: http://junit.org/junit4/javadoc/latest/org/junit/package-summary.html – AlexC
Являются ли 'EditAttributeDAO' и' EditAttributeDAO.getNames' общедоступными, нестатическими и неконфиденциальными? –