Size: a a a

2020 March 10

Y

YWNWA in learn.java
И так
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
а можно немного проще а то я ток спринг начал учить
В юнит-тестах зависимости тестируемого класса заменяются моками (то есть, по-русски, "болванками", "пустышками") с предопределённым поведением.
То есть, например, если у тебя в класс инджектится какой-нибудь EntityManager, то его следует заменить на мок с предопределённым поведением, и заинджектить этот мок вместо реального EntityManager.
В Джаве для этих целей обычно юзают фреймворк Mockito https://site.mockito.org/
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
В юнит-тестах зависимости тестируемого класса заменяются моками (то есть, по-русски, "болванками", "пустышками") с предопределённым поведением.
То есть, например, если у тебя в класс инджектится какой-нибудь EntityManager, то его следует заменить на мок с предопределённым поведением, и заинджектить этот мок вместо реального EntityManager.
В Джаве для этих целей обычно юзают фреймворк Mockito https://site.mockito.org/
понял, но я так же написал класс с 1 методом для добавления юзера и там так же
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
не тест класс
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
понял, но я так же написал класс с 1 методом для добавления юзера и там так же
Ну так ты в этот репозиторий что-то инджектишь через @Autowired, так?
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
Ну так ты в этот репозиторий что-то инджектишь через @Autowired, так?
@Service
public class Test {
   @Autowired
   private UserRepo userRepo;

   public void addUser(){
       User user = new User();
       user.setUserName("Void");
       user.setUserSurname("Sveta");
       userRepo.save(user);
   }
}
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
Ну так ты в этот репозиторий что-то инджектишь через @Autowired, так?
я просто пишу по сути с гайда из spring.io, но у меня не работает(
источник

K

Kehlani in learn.java
Аа, я подумал, что "тест метод" значит, что ты пишешь юнит-тест =\
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
@Service
public class Test {
   @Autowired
   private UserRepo userRepo;

   public void addUser(){
       User user = new User();
       user.setUserName("Void");
       user.setUserSurname("Sveta");
       userRepo.save(user);
   }
}
Покажи класс UserRepo
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
Покажи класс UserRepo
@Repository
public interface UserRepo extends CrudRepository<User, Integer> {
}
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
@Repository
public interface UserRepo extends CrudRepository<User, Integer> {
}
А это Spring Boot?
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
А это Spring Boot?
da
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
А это Spring Boot?
@SpringBootApplication
public class SpringApplicationMain {
   public static void main(String[] args) {
       SpringApplication.run(SpringApplicationMain.class, args);
       Test test = new Test();
       test.addUser();
   }
}
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
@SpringBootApplication
public class SpringApplicationMain {
   public static void main(String[] args) {
       SpringApplication.run(SpringApplicationMain.class, args);
       Test test = new Test();
       test.addUser();
   }
}
Так не будет работать, тебе надо объект класса Test брать из ApplicationContext
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
Kehlani
Так не будет работать, тебе надо объект класса Test брать из ApplicationContext
написать бин в конфиг классе?
источник

★Demetrio★Hołownia-Ostrożecki★ in learn.java
кажется я понял, ща попробую
источник

K

Kehlani in learn.java
★Demetrio★Hołownia-Ostrożecki★
@SpringBootApplication
public class SpringApplicationMain {
   public static void main(String[] args) {
       SpringApplication.run(SpringApplicationMain.class, args);
       Test test = new Test();
       test.addUser();
   }
}
Попробуй так:
ApplicationContext applicationContext = SpringApplication.run(SpringApplicationMain.class, args);
Test test = applicationContext.getBean(Test.class);
test.addUser();
источник

K

Kehlani in learn.java
Когда ты просто создаёшь объект класса Test, каким образом, по-твоему, Спринг должен проинициализировать @Autowired-зависимости?)) Спринг, конечно, во многом магический фреймворк, но не настолько 😀
источник

d

dima in learn.java
★Demetrio★Hołownia-Ostrożecki★
а можно немного проще а то я ток спринг начал учить
для тестов есть же spring boot test
источник

d

dima in learn.java
то, что ты делаешь - неправильно
источник