5
我正在尝试着手进行一些关于Spring单元测试以及特别是交易单元测试的讨论。Spring框架 - 单元测试设计
目前,我们在各种各样的注释,像这样的类各地441测试:
我们的测试类的@RunWith(SpringJUnit4ClassRunner.class)
@TransactionConfiguration
@ContextConfiguration(locations={"/context/ServiceTest-context.xml"}, inheritLocations=false)
public class ServiceTests extends AbstractTransactionalJUnit4SpringContextTests {
@Test
public void testSomething() {}
@Test
public void testSomethingElse() {}
}
每个人都有自己的测试环境。
我们面临的一个问题是,当我们运行单个测试类或单个包时,测试运行良好。
但是,当我们想通过使用maven或类似的哈德森集成来扩展运行所有我们的测试(当前> 400)。
mvn test
我们到了一个地步,然后开始体验Java GC超限错误。
现在我觉得这是根据我们的测试计划设计,而不是我们需要任何内存限制或关闭警告。
任何人都可以分享他们的经验和他们解决类似问题的方式吗?
Eggsy
您是否在各个测试之间共享测试环境并使用特定的forkmode配置?请参阅http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html#forkMode –
测试上下文在各个测试之间共享,但它们不在各个测试类/套件之间共享。我们通常有一个测试类,它使用一个上下文,然后在那个类中使用相同上下文的多个测试。那有意义吗?我们不使用特定的forkmode配置 - 这是做什么的? (从来没有使用过Maven选项) – eggsy84
有用的链接为任何人寻找forkMode信息(http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html) – eggsy84