У меня есть такие приложения Класс:Контекст конфигурации в тесте Спока
@Configuration
@EnableAutoConfiguration
@ComponentScan
@ImportResource("classpath:applicationContext.xml")
@EnableJpaRepositories("ibd.jpa")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Также я UserService класс (он обнаружил @EnableJpaRepositories ("ibd.jpa"))
@RestController
@RequestMapping("/user")
public class UserService {
@Autowired
private UserRepository userRepository;
@RequestMapping(method = RequestMethod.POST)
public User createUser(@RequestParam String login, @RequestParam String password){
return userRepository.save(new User(login,password));
}
********
И я стараюсь чтобы проверить UserService:
@ContextConfiguration
class UserServiceTest extends Specification {
@Autowired
def UserService userService
def "if User not exists 404 status in response sent and corresponding message shown"() {
when: 'rest account url is hit'
MockMvc mockMvc = standaloneSetup(userService).build()
def response = mockMvc.perform(get('/user?login=wrongusername&password=wrongPassword')).andReturn().response
then:
response.status == NOT_FOUND.value()
response.errorMessage == "Login or password is not correct"
}
Но вопрос: UserSer вице в тесте null - не подключен. Означает, что Контекст не загружен. Скажите, пожалуйста, где проблема в ContextConfiguration теста.
Не могли бы вы добавить примечания об использовании Spring (не SpringBoot)? –
@ ДмитрийКулешов Последние две аннотации не относятся к Spring Boot. Я думаю, что первый можно заменить чем-то вроде «@RunWith», но я не уверен, поскольку я использовал их только с Spring Boot. Что конкретно вы пытаетесь сделать? – Igor