Size: a a a

2020 July 06

RG

Rinchin G in learn.java
Oleg
не вешайте @SpringBootTest и ему подобные на класс с простыми тестами
А если мне нужно замокать environment? Для определенных методов, вроде как что для таких то параметров Environment вернется такой то объект, но при этом с базой не нужно коннектится
источник

ch

central hardware in learn.java
Rinchin G
А если мне нужно замокать environment? Для определенных методов, вроде как что для таких то параметров Environment вернется такой то объект, но при этом с базой не нужно коннектится
не мешать IO и логику
источник

RG

Rinchin G in learn.java
Пытаюсь мокать dataSource, наверное что то делаю не так?


@SpringBootTest
@RunWith(SpringRunner.class)
class FilterServiceTest {

 @Mock
 private Environment environment;

 @InjectMocks
 private FilterService filterService;

 private Log log;

 @Mock
 DataSource dataSource;

 @BeforeEach
 public void setup() {

   ClientInfo clientInfo = new ClientInfo();
   clientInfo.setHeight(1L);
   clientInfo.setInstanceId(1L);
   clientInfo.setScreenHeight(1L);
   clientInfo.setScreenWidth(1L);
   clientInfo.setUserAgent("chrome");
   clientInfo.setUserName("user");

   List<Event> events = new ArrayList<>();
   UserAction userAction = new UserAction();
   userAction.setActionType(ActionType.
mouseDown);
   userAction.setCssSelector("cssSelector");
   userAction.setElementName("button");
   userAction.setType("userAction");
   userAction.setCurrentMode(CurrentMode.
MAIN);

   UserAction userAction2 = new UserAction();
   userAction2.setActionType(ActionType.
mouseDown);
   userAction2.setCssSelector("cssSelector");
   userAction2.setElementName("image");
   userAction2.setType("userAction");
   userAction2.setCurrentMode(CurrentMode.
MAIN);

   UserAction userAction3 = new UserAction();
   userAction3.setActionType(ActionType.
mouseDown);
   userAction3.setCssSelector("cssSelector");
   userAction3.setType("userAction");
   userAction3.setCurrentMode(CurrentMode.
MAIN);

   JsError jsError = new JsError();
   jsError.setMessage("dummy message");
   jsError.setType("jsError");
   jsError.setStack("123");

   JsError jsError1 = new JsError();
   jsError1.setType("jsError");
   jsError1.setMessage("dummy message2");

   events.add(userAction);
   events.add(userAction2);
   events.add(userAction3);
   events.add(jsError);
   events.add(jsError1);

   log = new Log();
   log.setToken("dummy token");
   log.setClientInfo(clientInfo);
   log.setEvents(events);
 }

 @Test
 public void testTest(){
   
assertEquals(2,2);
 }

 @Test
 public void filterWithNullElementName() {
   
when(environment.getProperty("event.types")).thenReturn("userAction");
   
when(environment.getProperty("event.user-action.element-name")).thenReturn("null");

   List<Event> filter = filterService.filter(log);

   
assertEquals(1, filter.size());
 }
источник

P

Pan Kotek in learn.java
Ошибка какая?
источник

P

Pan Kotek in learn.java
Rinchin G
Пытаюсь мокать dataSource, наверное что то делаю не так?


@SpringBootTest
@RunWith(SpringRunner.class)
class FilterServiceTest {

 @Mock
 private Environment environment;

 @InjectMocks
 private FilterService filterService;

 private Log log;

 @Mock
 DataSource dataSource;

 @BeforeEach
 public void setup() {

   ClientInfo clientInfo = new ClientInfo();
   clientInfo.setHeight(1L);
   clientInfo.setInstanceId(1L);
   clientInfo.setScreenHeight(1L);
   clientInfo.setScreenWidth(1L);
   clientInfo.setUserAgent("chrome");
   clientInfo.setUserName("user");

   List<Event> events = new ArrayList<>();
   UserAction userAction = new UserAction();
   userAction.setActionType(ActionType.
mouseDown);
   userAction.setCssSelector("cssSelector");
   userAction.setElementName("button");
   userAction.setType("userAction");
   userAction.setCurrentMode(CurrentMode.
MAIN);

   UserAction userAction2 = new UserAction();
   userAction2.setActionType(ActionType.
mouseDown);
   userAction2.setCssSelector("cssSelector");
   userAction2.setElementName("image");
   userAction2.setType("userAction");
   userAction2.setCurrentMode(CurrentMode.
MAIN);

   UserAction userAction3 = new UserAction();
   userAction3.setActionType(ActionType.
mouseDown);
   userAction3.setCssSelector("cssSelector");
   userAction3.setType("userAction");
   userAction3.setCurrentMode(CurrentMode.
MAIN);

   JsError jsError = new JsError();
   jsError.setMessage("dummy message");
   jsError.setType("jsError");
   jsError.setStack("123");

   JsError jsError1 = new JsError();
   jsError1.setType("jsError");
   jsError1.setMessage("dummy message2");

   events.add(userAction);
   events.add(userAction2);
   events.add(userAction3);
   events.add(jsError);
   events.add(jsError1);

   log = new Log();
   log.setToken("dummy token");
   log.setClientInfo(clientInfo);
   log.setEvents(events);
 }

 @Test
 public void testTest(){
   
assertEquals(2,2);
 }

 @Test
 public void filterWithNullElementName() {
   
when(environment.getProperty("event.types")).thenReturn("userAction");
   
when(environment.getProperty("event.user-action.element-name")).thenReturn("null");

   List<Event> filter = filterService.filter(log);

   
assertEquals(1, filter.size());
 }
Тут вообще все смешалось в кучу. Уберите @SpringBootTest как сказали выше, SpringRunner замените на MockitoJUnitRunner
источник

RG

Rinchin G in learn.java
@RunWith(MockitoJUnitRunner.class)
class FilterServiceTest {

...
@Test
public void filterWithNullElementName() {
 
when(environment.getProperty("event.types")).thenReturn("userAction");              <<<<<<<<<<<<<
 
when(environment.getProperty("event.user-action.element-name")).thenReturn("null");

 List<Event> filter = filterService.filter(log);

 
assertEquals(1, filter.size());
}





так падает <<<<< java.lang.NullPointerException
источник

A

Anton in learn.java
Rinchin G
@RunWith(MockitoJUnitRunner.class)
class FilterServiceTest {

...
@Test
public void filterWithNullElementName() {
 
when(environment.getProperty("event.types")).thenReturn("userAction");              <<<<<<<<<<<<<
 
when(environment.getProperty("event.user-action.element-name")).thenReturn("null");

 List<Event> filter = filterService.filter(log);

 
assertEquals(1, filter.size());
}





так падает <<<<< java.lang.NullPointerException
куски кода удобнее тут:
https://ideone.com
https://pastebin.com
https://gist.github.com/
источник

F

Firdavs in learn.java
Здравствуйте всем. Какие учебники (книги) посоветуете для изучения Java ?
источник

DC

Denis Chikanov in learn.java
Firdavs
Здравствуйте всем. Какие учебники (книги) посоветуете для изучения Java ?
Открой поиск по чату, вопрос поднимается каждый день почти.
источник

RG

Rinchin G in learn.java
Firdavs
Здравствуйте всем. Какие учебники (книги) посоветуете для изучения Java ?
Очень классно пишет Boyarsky Jane OCA, OCP exam )) доступнее чем у нее не встречал
источник

RG

Rinchin G in learn.java
Подскажите еще по тестированию? У меня есть метод который парсит строку в list<db_object> -> и каждый элемент из этого списка записывает в insert_string и тут же с помощью NamedParameterJdbcTemplate пихает в базу. Как такое потестить?
источник

RG

Rinchin G in learn.java
при помощи юнит теста
источник

RG

Rinchin G in learn.java
?
источник

DC

Denis Chikanov in learn.java
Rinchin G
при помощи юнит теста
Что именно ты хочешь проверить в поведении-то?
источник

RG

Rinchin G in learn.java
ну допустим какие insert строки получились? соответствуют ли они синтаксису перед тем как занестись в базу
источник

DC

Denis Chikanov in learn.java
Rinchin G
ну допустим какие insert строки получились? соответствуют ли они синтаксису перед тем как занестись в базу
Ну, выбери набор параметров, составь подходящие корректные строки, сравни такие ли строки твой метод возвращает
источник

RG

Rinchin G in learn.java
в том то и дело ))) он ничего не возвращает ))) void -> сразу пишет в базу)))
и стоит ли ради тестирования разнести метод на 2 один парсит другой пишет?
источник

DC

Denis Chikanov in learn.java
Rinchin G
в том то и дело ))) он ничего не возвращает ))) void -> сразу пишет в базу)))
и стоит ли ради тестирования разнести метод на 2 один парсит другой пишет?
Надо разбивать, конечно, не только ради тестирования, но и ради того, чтобы один метод две совсем разные вещи не делал
источник

AM

Alexey Murnikov in learn.java
Доброго времени суток,
Кто-нибудь в курсе что из себя приблизительно представляет тестовое задание на стажировку в Bell Integrator?
И, если глобальнее, какие приблизительно тестовые задания для попадания на стажировки в принципе?
источник

AM

Alexey Murnikov in learn.java
Пока прохожу Джавараш, никуда не тороплюсь, но перспективу хочется видеть
источник