我正在尝试从Spring Boot应用程序中的JUnit中访问application.properties或application-test.properties。
MyService
pom.xml
src
├───main
│ ├───java
│ │ └───com
│ │ └───myservice
│ │ ├───config
│ │ │ AppConfig.java
│ │ └───controller
│ │ │ UserController.java
│ │ │
│ │ └─── MyServiceApplication.java
│ ├───resources
│ │ application.properties
└───test
├───java
│ └───com
│ └───myservice
│ └───controller
│ UserControllerTest.java
└───resources
application-test.properties
com.myservice.config.AppConfig:
@Configuration
public class AppConfig {
@Value("${userDir}")
private String userDir;
// Getters & setters omitted for brevity
}
主/资源/应用程序.属性:
server.contextPath=/MyService
server.port=8080
# users dir
userDir=/opt/users
test.resources/application-test.properties
# users dir
userDir=/opt/users
@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class)
@ContextConfiguration(initializers = ConfigFileApplicationContextInitializer.class)
@ActiveProfiles("test")
public class UserControllerTest {
@Autowired
MockMvc mvc;
@MockBean
AppConfig config;
@MockBean
UserService userService;
@Test
public void getAllUsers() throws Exception {
User users = new User(config.getUserDir());
// more lines of code
}
}
This.Class.GetClassLoader.GetResourceAsStream(...)
//希望使用我的AppConfig.Class问题:
>
我可能做错了什么,它应该从application.properties文件读取还是从test-properties.文件读取?
是否需要将AppConfig放置在test/java/com/myservice/config下的源文件夹中?
将以下注释添加到您的测试类中:
@TestPropertySource(locations="classpath:application-test.properties")
这将使您工作:)请注意,您必须导入它:
import org.springframework.test.context.TestPropertySource;
问题内容: 我正在尝试为自定义方面编写Junit测试。这是Aspect类代码片段: 因此,只要关节点与切入点匹配,上述方面就会截获。它的工作正常。 但是我的问题是如何对该类进行单元测试。我有以下Junit测试: 因此,我在Junit中匹配切入点时被其拦截。但是,当调用该联合点时,我应该如何确定(可能是通过断言)我正在拦截? 我不能断言返回值,因为它除了执行联合点外没有其他特殊之处。因此,无论是按方
问题内容: 我在一个项目中工作,我们必须为我们所有的简单bean(POJO)创建单元测试。如果POJO由getter和setter组成,那么是否有必要为其创建单元测试?假设POJO大约100%的时间都可以正常工作吗? 问题答案: TDD中的规则是“测试所有可能破坏的东西” 吸气剂可以破坏吗?通常不会,因此我不必费心测试。此外,我的代码 做 测试肯定会调用吸气所以它 会 被测试。 我个人的规则是,我
在使用JUnit进行测试时,我无法理解一些事情,我编写了一些测试,而有些测试似乎可以简单地使用 而且 有些似乎不能与它们一起工作,所以我必须使用 而且 我理解@mockbean是在处理spring容器时使用的,而@mock只是用来复制/模拟某个类及其方法。但是什么时候才是使用@mockbean的最佳时机呢? 上面是我在spring boot应用程序中为一个控制器编写的测试,但当我使用@mock模拟
问题内容: 我需要为设计欠佳的旧应用程序编写JUnit测试,并且正在向标准输出中写入许多错误消息。当方法正确运行时,它将返回XML响应: 但是,当XML格式错误或无法理解请求时,它将返回并将某些内容写入标准输出。 有什么方法可以在JUnit中声明控制台输出?要捕获类似的情况: 问题答案: 使用和很简单: 样本测试案例: 我使用此代码测试了命令行选项(断言-version输出版本字符串等)
DAO类的相关方面如下 我的src/test/resources/application.properties文件如下所示 在Eclipse中作为JUnit测试运行的跟踪 应用程序结构 -SRC ----application.java ----COM ----Hitstpa ----application.properties --测试 ---爪哇
本文向大家介绍基于Springboot+Junit+Mockito做单元测试的示例,包括了基于Springboot+Junit+Mockito做单元测试的示例的使用技巧和注意事项,需要的朋友参考一下 前言 这篇文章介绍如何使用Springboot+Junit+Mockito做单元测试,案例选取撮合交易的一个类来做单元测试。 单元测试前先理解需求 要写出好的单测,必须先理解了需求,只有知道做什么才能