Questions tagged «spring-test»

17
JUnit测试在Eclipse中通过,但在Maven Surefire中失败
我已经使用JUnit 4和spring-test库编写了一些JUnit测试。当我在Eclipse中运行测试时,可以正常运行并通过。但是,当我使用Maven运行它们时(在构建过程中),它们无法给出与Spring相关的错误。我不确定是什么引起了问题,JUnit,Surefire或Spring。这是我的测试代码,spring配置以及我从Maven获得的异常: PersonServiceTest.java package com.xyz.person.test; import static com.xyz.person.util.FjUtil.toFjList; import static junit.framework.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Transactional; import com.xyz.person.bo.Person; import com.xyz.person.bs.PersonService; import fj.Effect; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath*:personservice-test.xml" }) @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false) …

7
如何在春季测试中设置环境变量或系统属性?
我想编写一些测试来检查已部署WAR的XML Spring配置。不幸的是,某些bean需要设置一些环境变量或系统属性。通过@ContextConfiguration使用便捷的测试样式时,如何在初始化Spring bean之前设置环境变量? @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:whereever/context.xml") public class TestWarSpringContext { ... } 如果我使用注释配置应用程序上下文,那么在初始化spring上下文之前,我看不到可以执行某些操作的钩子。


7
@Test之后的回滚事务
首先,我在StackOverflow上找到了很多与此相关的线程,但是它们都没有真正帮助我,因此很抱歉提出可能重复的问题。 我正在使用spring-test运行JUnit测试,我的代码如下所示 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {}) public class StudentSystemTest { @Autowired private StudentSystem studentSystem; @Before public void initTest() { // set up the database, create basic structure for testing } @Test public void test1() { } ... } 我的问题是我希望我的测试不影响其他测试。所以我想为每个测试创建类似回滚的东西。我为此进行了很多搜索,但到目前为止我什么都没找到。我为此使用Hibernate和MySql

5
在junit测试类中重用spring应用程序上下文
我们有一堆JUnit测试用例(集成测试),它们在逻辑上分为不同的测试类。 我们可以在每个测试类中加载一次Spring应用程序上下文,然后将其重新用于JUnit测试类中的所有测试用例,如http://static.springsource.org/spring/docs/current/spring-framework-reference中所述/html/testing.html 但是,我们只是想知道是否有一种方法可以对一堆JUnit测试类仅加载一次Spring应用程序上下文。 FWIW,我们使用Spring 3.0.5,JUnit 4.5并使用Maven构建项目。

6
MockMvc在Spring Boot 2.2.0中不再处理UTF-8字符。
在升级到新发布2.2.0.RELEASE的Spring Boot版本之后,我的一些测试失败了。似乎MediaType.APPLICATION_JSON_UTF8已弃用了,并且不再从未显式指定内容类型的控制器方法中将其作为默认内容类型返回。 测试代码如 String content = mockMvc.perform(get("/some-api") .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8)) .andReturn() .getResponse() .getContentAsString(); 突然不再工作,因为内容类型不匹配,如下所示 java.lang.AssertionError: Content type Expected :application/json;charset=UTF-8 Actual :application/json 更改代码以.andExpect(content().contentType(MediaType.APPLICATION_JSON))解决此问题。 但是现在content,与预期的序列化对象进行比较时,如果对象中有任何特殊字符,则仍然不匹配。似乎.getContentAsString()默认情况下(不再)该方法不使用UTF-8字符编码。 java.lang.AssertionError: Response content expected:<[{"description":"Er hörte leise Schritte hinter sich."}]> but was:<[{"description":"Er hörte leise Schritte hinter sich."}]> Expected :[{"description":"Er hörte leise Schritte hinter sich."}] Actual :[{"description":"Er hörte leise …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.