@Component
public class Bean {
@Value("${bean.timeout:60}")
private Integer timeout;
// ...
}
现在我想用JUnit测试来测试这个bean。因此,我使用了SpringJUnit4ClassRunner和ContextConfiguration注释。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class BeanTest {
@Autowired
private Bean bean;
// tests ...
@Configuration
public static class SpringConfiguration {
@Bean
public Bean bean() {
return new Bean();
}
}
}
不幸的是,SpringJUnit4ClassRunner无法解析@value
表达式,即使提供了默认值(抛出了NumberFormatException)。运行者似乎甚至无法解析表达式。
我的测验漏了什么吗?
您的测试@configuration
类缺少PropertyPlaceHolderConfigureer
的实例,这就是Spring不知道如何解析这些表达式的原因;在SpringConfiguration
类中添加如下所示的bean
@org.springframework.context.annotation.Bean
public static PropertyPlaceholderConfigurer propertyPlaceholderConfigurer() {
PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
ppc.setIgnoreResourceNotFound(true);
return ppc;
}
并将其移到一个单独的类中使用
@ContextConfiguration(classes=SpringConfiguration.class)
以便在运行测试时更加具体。
问题内容: 我要对Spring-boot进行Junit测试,如下所示: 和ApplicationTest.java这样 和我的POM像这样: 运行测试时,出现以下错误信息 但是当我将此应用程序作为普通Java应用程序运行时 运行良好! 它出什么问题了 ?我应该如何通过Spring-boot进行junit测试?非常感谢! 问题答案: 您需要添加 @PropertySource(“ classpath
和ApplicationTest.java 我的POM是这样的: 当我运行测试时,我得到以下错误信息 但当我将此应用程序作为普通Java应用程序运行时 它工作得很好! 怎么了?我应该如何用Spring-Boot参加junit测试?多谢!
有一个@Value注释的常量,在运行测试时不会初始化,当构造函数中需要它时,它会抛出NullPointerException。 要测试的示例类: 示例测试类: 事情尝试了,但没有任何效果: 我已经创建了应用程序。具有所需值的属性文件 创建应用程序测试。属性,并添加了TestPropertySource(locations=“classpath:application test.properties
与许多Java应用程序一样,我们在应用程序中使用Freemarker来呈现电子邮件。我们发现我们的一些模板并没有像我们想象的那样呈现,因此我们意识到我们应该为模板呈现编写一些单元测试。我设置了测试,并立即收到一个FileNotFoundException:找不到模板“my/Template.ftl”。 我想这一定是一个既能解决问题又能轻松解决的问题。那是很多小时前的事了,我意识到我错了;据我所知,
我需要jUnit测试的帮助,我的结果是json文件,我需要测试该文件的长度,问题是在jsonPath函数中没有这样的方法。 这里是我的测试方法,预期长度是7。如有任何帮助,我将不胜感激,谢谢
本文向大家介绍详解Spring Boot Junit单元测试,包括了详解Spring Boot Junit单元测试的使用技巧和注意事项,需要的朋友参考一下 Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性。 凭本人的感觉和经验来说,在项目中完全按标准都写Junit用例覆盖大部分业务代码的,应该不会超过一半。 刚好前段时间写了一些关于SpringBoo