В моем проекте Spring Boot с сообществом Intellij Idea я создаю интеграционные тесты с Junit и Mockito, я хочу установить переменные ENV во всем мире, потому что тесты представляют собой много точек выполнения, и в сообществе IntelliJ я могу установить их для каждой конфигурации. Я использую GNU/Linux, я устанавливаю переменные ENV в моем .BASHRC и поставляю файл, я определяю их в /тет/resources/application-test.yml . Когда я запускаю тесты, бросает исключение, потому что он не получает учетных данных DB, в данном случае от переменных ENV. Как он может прочитать значения, определенные в .bashrc ?
.bashrc
# Obviously I setted the values, are empty just to show you
export DB_URL_TEST=""
export DB_USERNAME_TEST=""
export DB_PASSWORD_TEST=""
< /code>
/test/resources/application-test.yml
spring:
datasource:
url: "${DB_URL_TEST}"
username: "${DB_USERNAME_TEST}"
password: "${DB_PASSWORD_TEST}"
driver-class-name: org.mariadb.jdbc.Driver
< /code>
The test in question:
// It's in development, it's I have
package com.latteIceCream.latte;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@SpringBootTest
@AutoConfigureMockMvc
@ActiveProfiles("test")
public class FlavorCRUDTest {
@Autowired
MockMvc mockMvc;
@Test
public void flavorRequest() throws Exception
{
mockMvc.perform
(
MockMvcRequestBuilders.post("/flavor/{name}")
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isCreated())
.andExpect
(MockMvcResultMatchers.content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)
);
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... boot-tests
Как импортировать переменные ENV из Linux Shell в тестировании Spring Boot? ⇐ Linux
1750970113
Anonymous
В моем проекте Spring Boot с сообществом Intellij Idea я создаю интеграционные тесты с Junit и Mockito, я хочу установить переменные ENV во всем мире, потому что тесты представляют собой много точек выполнения, и в сообществе IntelliJ я могу установить их для каждой конфигурации. Я использую GNU/Linux, я устанавливаю переменные ENV в моем .BASHRC и поставляю файл, я определяю их в /тет/resources/application-test.yml . Когда я запускаю тесты, бросает исключение, потому что он не получает учетных данных DB, в данном случае от переменных ENV. Как он может прочитать значения, определенные в .bashrc ?
.bashrc
# Obviously I setted the values, are empty just to show you
export DB_URL_TEST=""
export DB_USERNAME_TEST=""
export DB_PASSWORD_TEST=""
< /code>
/test/resources/application-test.yml
spring:
datasource:
url: "${DB_URL_TEST}"
username: "${DB_USERNAME_TEST}"
password: "${DB_PASSWORD_TEST}"
driver-class-name: org.mariadb.jdbc.Driver
< /code>
The test in question:
// It's in development, it's I have
package com.latteIceCream.latte;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@SpringBootTest
@AutoConfigureMockMvc
@ActiveProfiles("test")
public class FlavorCRUDTest {
@Autowired
MockMvc mockMvc;
@Test
public void flavorRequest() throws Exception
{
mockMvc.perform
(
MockMvcRequestBuilders.post("/flavor/{name}")
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isCreated())
.andExpect
(MockMvcResultMatchers.content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)
);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79681124/how-to-import-env-variables-from-linux-shell-in-spring-boot-tests[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия