草庐IT

Junit-Tests

全部标签

spring - 用于 Spring Boot 应用程序的 JUnit @BeforeClass 非静态工作

如果您希望JUnit的@BeforeClass注释在所有@Test方法之前运行一次,则必须将其声明为静态。但是,这不能与依赖注入(inject)一起使用。我想在运行JUnit测试之前使用SpringBoot清理我@Autowire的数据库。我不能@Autowire静态字段,所以我需要想办法解决。有什么想法吗? 最佳答案 只需使用@Before(而不是@BeforeClass)(或Spring的@BeforeTransaction(取决于您如何初始化数据库))。此注释必须附加到非静态公共(public)方法。当然:@Before在每个

java - Spring jUnit 测试属性文件

我有一个jUnit测试,它有自己的属性文件(application-test.properties)和它的spring配置文件(application-core-test.xml)。其中一种方法使用由springconfig实例化的对象,即spring组件。类中的成员之一从我们的主要属性文件application.properties派生其值。通过jUnit访问此值时,它始终为空。我什至尝试将属性文件更改为指向实际的属性文件,但这似乎不起作用。这是我访问属性文件对象的方式@Component@PropertySource("classpath:application.propertie

spring - 在 JUnit 测试用例上获取 LazyInitializationException

在SpringMVC应用程序中运行JUnit测试时出现问题。测试1(insertTweet)似乎运行良好,但是在测试2中我得到一个“LazyInitializationException”异常(参见下面的完整stactrace)。我理解为什么会抛出它,但不确定session为何关闭以及如何在每个测试2开始时重新打开它(或保持现有session打开以完成剩余测试)?我已经粘贴了与测试类一起抛出的整个StackTrace。org.hibernate.LazyInitializationException:failedtolazilyinitializeacollectionofrole:c

java - 如何使用 Spring 为 JUnit 测试注入(inject) ServletContext?

我想对使用ApacheCXF编写的RESTful接口(interface)进行单元测试。我使用ServletContext来加载一些资源,所以我有:@ContextprivateServletContextservletContext;如果我将它部署在Glassfish上,则会注入(inject)ServletContext并且它会像预期的那样工作。但我不知道如何在我的服务类中注入(inject)ServletContext,以便我可以使用JUnit测试对其进行测试。我使用Spring3.0、JUnit4、CXF2.2.3和Maven。 最佳答案

hibernate - Spring/Hibernate/JUnit - 没有绑定(bind)到线程的 hibernate session

我正在尝试访问测试用例中的当前hibernatesession,并收到以下错误:org.hibernate.HibernateException:NoHibernateSessionboundtothread,andconfigurationdoesnotallowcreationofnon-transactionalonehereatorg.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)atorg.hibernate.impl.Sessio

java - 为 JUnit Runner (Eclipse) 设置系统属性以测试 Spring Web App

我们的网络应用使用SystemPropertyPlaceholder根据系统属性的值加载属性文件(见下文)在本地运行它的默认设置存储在application.properties中。在生产服务器上,我们目前只是在部署应用程序之前将“env”设置为“production”,它将加载production.properties。现在为了测试应用程序,应该使用test.properties文件。如果我运行我们的jenkins构建中的所有测试,添加-Denv=test将按预期工作。但是,如果我只想使用集成的JUnit运行器在Eclipse中运行单个测试呢?@RunWith(SpringJUnit

spring - 为什么我收到 MockMvc 和 JUnit 的错误 403?

我有一个带有springsecurity(3.2)的springmvc(3.2.5)应用程序。我用这个方法配置了我的SecurityConfig.class:@Overrideprotectedvoidconfigure(HttpSecurityhttp)throwsException{http.authorizeRequests().antMatchers("/*").permitAll().and().formLogin().successHandler(successHandler).defaultSuccessUrl("/").failureHandler(failureHan

java - @TestPropertySource 不适用于 Spring 1.2.6 中使用 AnnotationConfigContextLoader 的 JUnit 测试

似乎我在Spring4.1.17中使用SpringBoot1.2.6.RELEASE所做的任何事情都不起作用。我只想访问应用程序属性并在必要时用测试覆盖它们(不使用黑客手动注入(inject)PropertySource)这不起作用..@TestPropertySource(properties={"elastic.index=test_index"})这个也不行..@TestPropertySource(locations="/classpath:document.properties")也不是这个..@PropertySource("classpath:/document.prop

spring - Junit测试Spring服务和DAO层

我正在开发一个Spring应用程序(Spring3.0)并遵循分层架构,即Controller->Service->DAO层。我想使用Junit为服务和DAO层编写单元测试用例。我查看了Spring官方网站并尝试了许多其他网站,但无法找到一种简单易行的方法。谁能给我一些有用的资源?编辑:看起来像Mockito是不错的选择。在Spring中使用它的任何好的链接。感谢Alex的建议。MockingHibernateDAO 最佳答案 在资源方面,Spring的测试文档非常好。这可以找到here.当您测试服务层时,您将需要使用Mockito

java - 如何在 Spring Boot JUnit 测试中排除 *AutoConfiguration 类?

我试过了:@RunWith(SpringJUnit4ClassRunner.class)@EnableAutoConfiguration(exclude=CrshAutoConfiguration.class)@SpringApplicationConfiguration(classes=Application.class)@WebAppConfigurationpublicclassLikeControllerTest{但是,CRaSSHD仍然启动。虽然目前它不会损害测试,但我想在单元测试期间禁用不必要的模块以加快速度并避免潜在的冲突。 最佳答案