Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Eclipse中独立运行所有JUnit测试,每次都重新加载Spring上下文_Java_Eclipse_Spring_Unit Testing_Junit - Fatal编程技术网

Java 在Eclipse中独立运行所有JUnit测试,每次都重新加载Spring上下文

Java 在Eclipse中独立运行所有JUnit测试,每次都重新加载Spring上下文,java,eclipse,spring,unit-testing,junit,Java,Eclipse,Spring,Unit Testing,Junit,目标:在Eclipse中找到一种方法来执行JUnit类中的所有测试,该类在每次测试之前重新加载Spring上下文,而不是一次 场景:我继承了DAO测试套件,它使用内存中的HSQL数据库,该数据库在上下文加载时使用一些示例数据进行初始化。在运行测试时,我注意到如果执行整个类,所有测试都会通过。但具体的测试方法在单独执行时失败。显然,这些测试并不是独立的,早期的测试正在改变数据库状态,而不是在它们自己之后进行清理,这取决于以后的测试是否通过。我想确定哪些测试是依赖的,并且在自己运行时会失败,而不必手

目标:在Eclipse中找到一种方法来执行JUnit类中的所有测试,该类在每次测试之前重新加载Spring上下文,而不是一次

场景:我继承了DAO测试套件,它使用内存中的HSQL数据库,该数据库在上下文加载时使用一些示例数据进行初始化。在运行测试时,我注意到如果执行整个类,所有测试都会通过。但具体的测试方法在单独执行时失败。显然,这些测试并不是独立的,早期的测试正在改变数据库状态,而不是在它们自己之后进行清理,这取决于以后的测试是否通过。我想确定哪些测试是依赖的,并且在自己运行时会失败,而不必手动执行每个测试或修改代码。

您可以在测试类中使用:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { MyConf.class })
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
public void MyTestClass {
这将在每个测试方法之后重新加载上下文。

您可以在测试类中使用:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { MyConf.class })
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
public void MyTestClass {
这将在每个测试方法之后重新加载上下文