public String processName() throws Exception {
String name = dbManager.getName(); // getname
String connection = dbManager.getConnection();
String name2 = dbManager.getName();
Mydata mydata = new Mydata();
String getData = mydata.getGetData();
List<String> list = dbManager.getList();
return getData.toLowerCase();
}
private class Mydata {
String getData = "test";
public String getGetData() {
return getData;
}
public void setGetData(String getData) {
this.getData = getData;
}
}
ответ
В общем, вы не должны использовать классы private
и избегать написания тестов для них, поскольку они должны быть black-boxes
для внешнего мира.
Но все же, если вы используете один и хотите, чтобы дразнить его, то здесь, как вы можете сделать это с помощью JMockit:
Object ins = Deencapsulation.newInnerInstance("Mydata", outerClass.class, (Object[]) null);
я использовал null
, потому что вы не определили любой конструктор на вашем внутреннем частном классе ,
Вот документация, если вы заинтересованы:
mockit.Deencapsulation.newInnerInstance Object (String innerClassSimpleName, объект outerClassInstance, объект ... nonNullArgs)
же, как и newInstance (String , Class [], Object), но для , создающего экземпляр внутреннего не доступного класса какого-либо другого класса, и , где все остальные (если есть) аргументы инициализации известны как непустые.
Параметры:
innerClassSimpleName: простое имя внутреннего класса, то есть, часть после символа "$" в своем полном наименовании
outerClassInstance: внешний класс экземпляр, к которому будет принадлежать экземпляр внутреннего класса
nonNullArgs: нулевые или более ненулевые значения параметров для вызова; если необходимо передать нулевое значение, объект класса для соответствующего типа параметра должен быть принят вместо типа, к которому возвращаемый экземпляр должен быть назначаемый
Возвращает: вновь созданный экземпляр указанного внутреннего класса, инициализируется> с заданными аргументами
броски: IllegalArgumentException - если пустая ссылка была предоставлена для параметра
но как я могу издеваться над этим методом String getData = mydata.getGetData(); я попытался, но он не издевается над этой строкой Mydata mydata = new Mydata(); –
- 1. Как насмехаться с классом case?
- 2. Как насмехаться над классом с помощью окончательных методов?
- 3. Как насмехаться с общим абстрактным классом с помощью MOQ?
- 4. Как издеваться над классом InitialContext с jmockit?
- 5. Laravel: как насмехаться над классом
- 6. разницы между запечатанным классом и запечатанным классом с частным конструктору
- 7. Различия между статическим классом и классом экземпляра с частным конструктором
- 8. Как насмехаться с java.net.Socket с помощью wiremock?
- 9. Как скомпилировать собственные методы с помощью jMockit
- 10. Как насмехаться с KeyguardManager
- 11. Как насмехаться над классом Rspec Verifying double
- 12. Как насмехаться с IDataReader.GetValues ()?
- 13. Как насмехаться с провайдером
- 14. как издеваются ServletActionContext.getRequest() с помощью JMockit
- 15. Как издеваться над InetAddress.getLocalHost() с помощью JMockit
- 16. Как вводить смешные зависимости с помощью jmockit
- 17. Как издеваться над частным статическим внутренним классом?
- 18. Как насмехаться с System.DirectoryServices.SearchResult?
- 19. Как насмехаться с DataSourceTransactionManager?
- 20. Как насмехаться с javax.mail.Address?
- 21. Как насмехаться с LLBLGen
- 22. Как насмехаться с EntityManager?
- 23. Как насмехаться с numpy.fromfile?
- 24. Как насмехаться с IDataRecord?
- 25. Как насмехаться с springcontext?
- 26. Невозможно сделать оператор перегрузки << с включенным частным классом
- 27. Mocking класс с существующим классом в JMockit (замена для `redefineMethods`)
- 28. Как насмехаться с литым объектом
- 29. Как насмехаться с сервисом RIA
- 30. Как насмехаться с компонентом Wicket
не ожидается проверить 'private' метод. Вы должны написать тест для 'public' методов и поставить' проверку' на mocks, если они вызываются в любом из ваших 'private' методов. – user2004685
мой вопрос: я хочу издеваться над публичным методом частного класса, возможно ли это? –
Да, вы могли бы издеваться над ним, но в целом, поскольку «частные» классы похожи на черные ящики, вы должны избегать их написания. – user2004685