我有一个基于 spring 的 Java EE web 应用程序。我正在测试我的“存储库”,它们只是使用 junit 的数据访问对象 (DAO)。我使用 maven 来构建和测试我的项目。我的单元测试示例如下所示:
@ContextConfiguration(locations = {"classpath:spring/business-objects.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
public class JpaUserRepositoryTests {
@AutoWired
UserRepository userRepository;
@Test
@Transactional
public void testCreate() {
boolean result = userRepository.create(new User("name","pass"));
Assert.assertTrue(result);
}
}
我的 maven-surefire-plugin 配置如下所示。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.13</version>
<configuration>
<includes>
<include>**/*Tests.java</include>
</includes>
</configuration>
</plugin>
我的问题是我有多个存储库测试,每次运行“mvn clean test”时,对于每个存储库测试类,spring 应用程序上下文都会一遍又一遍地加载。有什么方法可以配置我的测试,以便我的所有存储库测试只加载一次 Spring 应用程序上下文?