Load properties when MockitoJUnitRunner is used
I'm trying to load a property value from my application-test.properties in my service unit tests(using MockitoJUnitRunner.class) but it gets always a null value using @Value annotation.
@RunWith(MockitoJUnitRunner.class)
public class AlertQueryServiceImplTest {
@Value("${raw.path}")
private static String rawJson;
@InjectMocks
private AlertQueryServiceImpl alertQueryServiceImpl;
@Mock
private AlertCBDAOImpl alertCBDAOImpl;
private List<Alert> alertListExpected;
@Before
public void setUp() {
ReflectionTestUtils.setField(alertQueryServiceImpl, "url", "http://someurl");
alertListExpected = JsonUtils.
loadObjectList(Alert.class, JsonUtils.ALERTS_FILE);
assertFalse(alertListExpected.isEmpty());
}
@Test
public void shouldReturnAlerts() {
User userTest = new User("108998", "3000747091");
JsonDocument jsonDocExpected = JsonUtils.stringToJsonDocument(rawJson, userTest.getAssociatedBE());
when(alertCBDAOImpl.getDoc(userTest.getAssociatedBE())).thenReturn(jsonDocExpected);
when(alertCBDAOImpl.getAlerts(jsonDocExpected)).thenReturn(alertListExpected);
}
}
How could I load raw.path
property into rawJson
field?
java spring spring-boot mockito
add a comment |
I'm trying to load a property value from my application-test.properties in my service unit tests(using MockitoJUnitRunner.class) but it gets always a null value using @Value annotation.
@RunWith(MockitoJUnitRunner.class)
public class AlertQueryServiceImplTest {
@Value("${raw.path}")
private static String rawJson;
@InjectMocks
private AlertQueryServiceImpl alertQueryServiceImpl;
@Mock
private AlertCBDAOImpl alertCBDAOImpl;
private List<Alert> alertListExpected;
@Before
public void setUp() {
ReflectionTestUtils.setField(alertQueryServiceImpl, "url", "http://someurl");
alertListExpected = JsonUtils.
loadObjectList(Alert.class, JsonUtils.ALERTS_FILE);
assertFalse(alertListExpected.isEmpty());
}
@Test
public void shouldReturnAlerts() {
User userTest = new User("108998", "3000747091");
JsonDocument jsonDocExpected = JsonUtils.stringToJsonDocument(rawJson, userTest.getAssociatedBE());
when(alertCBDAOImpl.getDoc(userTest.getAssociatedBE())).thenReturn(jsonDocExpected);
when(alertCBDAOImpl.getAlerts(jsonDocExpected)).thenReturn(alertListExpected);
}
}
How could I load raw.path
property into rawJson
field?
java spring spring-boot mockito
add a comment |
I'm trying to load a property value from my application-test.properties in my service unit tests(using MockitoJUnitRunner.class) but it gets always a null value using @Value annotation.
@RunWith(MockitoJUnitRunner.class)
public class AlertQueryServiceImplTest {
@Value("${raw.path}")
private static String rawJson;
@InjectMocks
private AlertQueryServiceImpl alertQueryServiceImpl;
@Mock
private AlertCBDAOImpl alertCBDAOImpl;
private List<Alert> alertListExpected;
@Before
public void setUp() {
ReflectionTestUtils.setField(alertQueryServiceImpl, "url", "http://someurl");
alertListExpected = JsonUtils.
loadObjectList(Alert.class, JsonUtils.ALERTS_FILE);
assertFalse(alertListExpected.isEmpty());
}
@Test
public void shouldReturnAlerts() {
User userTest = new User("108998", "3000747091");
JsonDocument jsonDocExpected = JsonUtils.stringToJsonDocument(rawJson, userTest.getAssociatedBE());
when(alertCBDAOImpl.getDoc(userTest.getAssociatedBE())).thenReturn(jsonDocExpected);
when(alertCBDAOImpl.getAlerts(jsonDocExpected)).thenReturn(alertListExpected);
}
}
How could I load raw.path
property into rawJson
field?
java spring spring-boot mockito
I'm trying to load a property value from my application-test.properties in my service unit tests(using MockitoJUnitRunner.class) but it gets always a null value using @Value annotation.
@RunWith(MockitoJUnitRunner.class)
public class AlertQueryServiceImplTest {
@Value("${raw.path}")
private static String rawJson;
@InjectMocks
private AlertQueryServiceImpl alertQueryServiceImpl;
@Mock
private AlertCBDAOImpl alertCBDAOImpl;
private List<Alert> alertListExpected;
@Before
public void setUp() {
ReflectionTestUtils.setField(alertQueryServiceImpl, "url", "http://someurl");
alertListExpected = JsonUtils.
loadObjectList(Alert.class, JsonUtils.ALERTS_FILE);
assertFalse(alertListExpected.isEmpty());
}
@Test
public void shouldReturnAlerts() {
User userTest = new User("108998", "3000747091");
JsonDocument jsonDocExpected = JsonUtils.stringToJsonDocument(rawJson, userTest.getAssociatedBE());
when(alertCBDAOImpl.getDoc(userTest.getAssociatedBE())).thenReturn(jsonDocExpected);
when(alertCBDAOImpl.getAlerts(jsonDocExpected)).thenReturn(alertListExpected);
}
}
How could I load raw.path
property into rawJson
field?
java spring spring-boot mockito
java spring spring-boot mockito
edited Nov 15 '18 at 10:25
Vadim Kotov
4,38953247
4,38953247
asked Nov 14 '18 at 9:04
dataProcsdataProcs
128
128
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
First you need to set active profile to access application-test.properties file you may do that using @ActiveProfiles("test") annotation on your test class.
https://www.baeldung.com/spring-testing-separate-data-source
I don't think @Value annotation will work with static keyword.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53296405%2fload-properties-when-mockitojunitrunner-is-used%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
First you need to set active profile to access application-test.properties file you may do that using @ActiveProfiles("test") annotation on your test class.
https://www.baeldung.com/spring-testing-separate-data-source
I don't think @Value annotation will work with static keyword.
add a comment |
First you need to set active profile to access application-test.properties file you may do that using @ActiveProfiles("test") annotation on your test class.
https://www.baeldung.com/spring-testing-separate-data-source
I don't think @Value annotation will work with static keyword.
add a comment |
First you need to set active profile to access application-test.properties file you may do that using @ActiveProfiles("test") annotation on your test class.
https://www.baeldung.com/spring-testing-separate-data-source
I don't think @Value annotation will work with static keyword.
First you need to set active profile to access application-test.properties file you may do that using @ActiveProfiles("test") annotation on your test class.
https://www.baeldung.com/spring-testing-separate-data-source
I don't think @Value annotation will work with static keyword.
answered Nov 15 '18 at 10:20
RavenloupRavenloup
366
366
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53296405%2fload-properties-when-mockitojunitrunner-is-used%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown