- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个关于“spring boot 2”的项目,我想测试一下。表:
@Entity
@Table(name = "Contract")
public class Contract extends ADBObjectWithID<ContractBean>
{
@NotBlank
@Size(max = 512)
private String name;
@Size(max = 2056)
private String comment;
@Override
public ContractBean toBean()
{
return new ContractBean(getId(), getName(), getComment());
}
}
存储库是 CrudRepository<Contract, Long>
:
服务:
@Service
public class ContractServiceImpl implements ContractService
{
private ContractRepository contractRepository;
public ContractServiceImpl(ContractRepository contractRepository)
{
this.contractRepository = contractRepository;
}
@Override
@Transactional
public Contract saveObject(ContractBean contractBean)
{
Contract contract;
if (contractBean.getId() == null)
{
contract = new Contract();
}
else
{
contract = findById(contractBean.getId()).orElseThrow(() -> new NullPointerException("Contract not found"));
}
contract.setName(contractBean.getName());
contract.setComment(contractBean.getComment());
return contractRepository.save(contract);
}
@Override
@Transactional
public void deleteObject(ContractBean contractBean)
{
}
@Override
public Optional<Contract> findById(Long id)
{
return contractRepository.findById(id);
}
}
我想测试“服务”层并在测试数据库中测试它。 “application-test.properties”中提供了测试数据库的参数,但我运行测试时,“SpringBoot”使用了“application.properties”中的真实数据库。
测试:
@RunWith(SpringRunner.class)
@SpringBootTest
public class ContractTest
{
@Autowired
private ContractService contractService;
@Test
public void createContract()
{
String name = "Contract name";
String comment = "Contract comment";
ContractBean contractBean = new ContractBean();
contractBean.setName(name);
contractBean.setComment(comment);
Contract contract = contractService.saveObject(contractBean);
Assert.assertEquals(name, contract.getName());
Assert.assertEquals(comment, contract.getComment());
contractBean = contract.toBean();
Assert.assertEquals(name, contractBean.getName());
Assert.assertEquals(comment, contractBean.getComment());
}
}
请问,如何切换到测试基地?我在尝试 @PropertySource("classpath:application-test.properties")
和 @TestPropertySource("classpath:application-test.properties")
, 但不起作用
最佳答案
使用 Spring Profile 测试运行。
-Dspring.profiles.active=测试
您可以将默认配置文件作为测试添加到您的 application.yml 中以自动选择它。
Spring : profiles.active: 测试
关于java - @SpringBootTest 使用测试属性(测试数据库)文件运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56041815/
我有一个具有以下结构的 Spring Boot 项目 src |--- main | |--- java | | |--- io.example.config | | |
目录 SpringBootTest 踩坑 SpringBootTest的一个小坑注意点 1、我当时运行SpringBoot测试类的时候踩这个坑
我靠@SpringBootTest在测试应用程序配置时非常重要。应用程序属性可能很复杂,具有默认值和重要的验证。例如: prop: ports: 1205,2303,4039 fqdn: ${
我正在使用 jasypt 加密 Spring Boot 应用程序中的 application.properties。我的目标是更新我的集成测试,以便 jasypt 与测试加密器密码一起使用。我的问题是
使用基于 Spring Boot 和 MongoDB 的一些端点实现微服务,并尝试使用 @SpringBootTest 注释功能编写集成测试. 目前,我面临一个问题,我需要预先填充一个嵌入式 Mong
我有一个类似于以下的代码: @RunWith(SpringRunner.class) @SpringBootTest public class ModelRunnerTest { @Autow
我的 SpringBootTest 注释无法解析为类型。这里有同样的问题,但似乎添加依赖项 org.springframework.boot spring-boot-starter-
我有一个带有数据库和 rabbitmq 用法的小型 Spring Boot 应用程序。 所以我想用集成测试(H2 + apache qpid)进行测试。 @ExtendWith(SpringExten
这就是单元测试的正确本质吗?我想我不明白我应该测试什么。 ConverterContext是一个策略类 @SpringBootTest @ExtendWith(SpringExtension.clas
我有一个正在测试 spring 应用程序部分的测试。它使用 SpringRunner 和注解 @SpringBootTest 所以它启动了一个完整的 spring 服务器。 问题是测试是由无法访问数据
我如何引导我的 Spring Boot 2 集成测试,以便在所有这些测试中我可以拥有一组配置,这些配置使用一些可用于所有集成测试的测试数据预先植入测试数据库? 最佳答案 假设您正在使用 h2 测试数据
目录 @SpringBootTest单元测试的坑 1、环境 2、遇到的问题 3、解决方式 Test类运行单元测试
我正在尝试在“干净”的上下文中运行 @SpringBootTest,而不执行 MyApplicationContextInitializer。 MyApplicationContextInitiali
我正在构建一个 Spring Boot 应用程序。我想像这样运行它: java -jar myjar.jar inputFile outputFile 我该如何写 @SpringBootTest为了
我有一个 @SpringBootTest 用于在服务器上执行集成测试。根据配置,我希望服务器的行为有所不同。配置本身由我的应用程序逻辑深处的 beans (scope = singleton) 读取,
我有一个带有 hibernate 功能的 SpringBoot 应用程序。在我的测试中,我想禁用任何类型的数据库连接和配置(测试无权访问数据库)。我该怎么做? 我的测试类用 @SpringBootTe
我想测试我的 WebSocket 应用程序。 测试类: @RunWith(SpringRunner.class) @SpringBootTest( webEnvironment = Sprin
我写了一个 ApplicationListener 应该检查环境是否在上下文初始化期间准备好。我在测试场景时遇到了麻烦,因为我在 configure() 和 main() 方法中手动添加了监听器。 应
我有一个简单的 Spring Boot 项目。 我正在使用 maven 进行依赖管理。 导入为 SpringBootTest不被认可,所以我得到: SpringBootTest cannot be r
我目前正在努力解决 SpringBootTest 实例的服务器端口注入(inject)问题。我编写了一个测试配置类,我想在其中访问此端口。 测试配置类: @Target(AnnotationTarge
我是一名优秀的程序员,十分优秀!