@Configuration
public class Configuration {
@Autowired
private JdbcTemplate jdbcTemplate;
@Bean
SimpleJdbcCall simpleJdbcCall() {
return new SimpleJdbcCall(jdbcTemplate).withProcedureName("");
}
}
@ContextConfiguration(classes = { Configuration.class })
@RunWith(SpringRunner.class)
public class ConfigurationTest {
ApplicationContextRunner context = new ApplicationContextRunner()
.withUserConfiguration(Configuration.class);
@Test
public void should_check_presence_of_example_service() {
context.run(it -> {
assertThat(it).hasSingleBean(SimpleJdbcCall.class);
});
}
}
我为我的问题找到了解决方案,我想如果有人处于同样的情况,这可能会对其他人有所帮助。实际上,我的目标是根据公司的要求增加测试覆盖率,下面的解决方案适合我。
我改变了我的配置类,如下所示
@Configuration
public class Configuration {
@Bean
SimpleJdbcCall simpleJdbcCall(DataSource dataSource) {
return new SimpleJdbcCall(dataSource).withProcedureName("");
}
}
我不得不像下面这样改变我的测试类。现在测试类没有抱怨,我得到了配置类100%的覆盖率。
@SpringBootTest
public class ConfigurationTest {
@TestConfiguration
static class MyConfiguration {
@Bean
DataSource dataSource() {
return mock(DataSource.class);
}
}
@Autowired
private DataSource dataSource;
@Autowired
private Configuration configuration;
@Test
public void should_check_presence_of_simpleJdbcCall_Bean() {
SimpleJdbcCall simpleJdbcCall = configuration.simpleJdbcCall(dataSource);
Assertions.assertNotNull(simpleJdbcCall);
}
}
问题内容: 查看我编写的最后一个JUnit测试用例,我在类构造函数中调用了log4j的BasicConfigurator.configure()方法。对于仅运行Eclipse的“作为JUnit测试用例运行”命令中的单个类来说,这样做效果很好。但是我意识到这是不正确的:我很确定我们的主测试套件可以从一个进程运行所有这些类,因此log4j配置应该在某个地方进行。 但是我仍然需要自己单独运行一个测试用例
41.3 测试Spring Boot程序 一个Spring Boot程序不过是Spring的一个ApplicationContext,所以为了测试它,除了通常对一个普通的Spring上下文所做的以外,您不必做任何特别的事情。不过要注意的一点是,外部属性、日志以及Spring Boot的其他功能仅在您使用SpringApplication来创建上下文时会默认安装。 Spring Boot提供了一个@
我想测试某个异常是用作为JUnit测试方法的某个部分中的异常原因抛出的。 测试方法本身不应该抛出异常--只是它的一个特定部分。
问题内容: 我有一个测试类,其中包含几种典型的测试方法,这些方法可以进行断言或检查异常,并带有注释。它们在我在Ant任务中调用以下指令时运行: 但是,在同一堂课中,我想提出几种基准性能方法,这些方法未包含在必须通过的测试中。我想要一个完全独立的Ant任务来运行这些基准测试。 有没有注释的方法介绍这种测试分类并分别调用每个类别?例如,带注释的方法将是第一类,然后虚构的方法将仅记录用于诊断报告的性能指
是否有一种带注释的方法来引入这种测试分类并分别调用每个类别?例如。注释方法将是第一类,然后虚构的方法将只是用于诊断报告的日志性能指标,而不是执行决定成败的断言。我认为测试类是定位这些基准测试方法的最佳方式,但我不知道如何在Ant中封装它们的调用,以便它们单独运行。例如,是否可以在每个方法前缀“benchmark”,并告诉Ant只运行前缀有该前缀的方法,或者我可以编写自己的注释?
问题内容: 我想为GUI编写测试用例。我想知道如何模拟JButton的单击,或者如何提取JTable的元素。 为此,我构建了一个简单的GUI,如果单击按钮并且JTextfield为空,则将计数增加1,但是如果提供了数字,则计数将被JTextfield中的整数代替。当然,我想使用Regex来确保输入到JTextfield中的文本实际上是整数,但是让我们假设用户不会四处乱逛并输入非整数。另外,当JTa