Mar*_*vic 5 junit spring spring-test test-suite
是否可以运行带有加载弹簧上下文的测试套件,就像这样
@RunWith(Suite.class)
@SuiteClasses({ Test1.class, Test2.class })
@ContextConfiguration(locations = { "classpath:context.xml" }) <------
public class SuiteTest {
}
Run Code Online (Sandbox Code Playgroud)
上面的代码显然不会工作,但有没有办法完成这样的行为?
目前这是我的测试套件中使用spring上下文的方式:
@BeforeClass
public static void setUp() {
final ConfigurableApplicationContext context =
loadContext(new String[] { "context.xml" });
jdbcTemplate = (JdbcTemplate) context.getBean("jdbcTemplate");
// initialization of other beans...
}
Run Code Online (Sandbox Code Playgroud)
我试过你的代码,测试套件运行时加载了spring上下文.你能更详细地解释一下这个问题是什么吗?
这是代码:
@RunWith(Suite.class)
@SuiteClasses({ Test1.class, Test2.class })
public class SuiteTest {
}
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:context.xml" })
@Transactional
public class Test1 {}
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:context.xml" })
@Transactional
public class Test2 {}
Run Code Online (Sandbox Code Playgroud)
如果您希望Suite类拥有自己的应用程序上下文,请尝试以下操作:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:context.xml" })
@Transactional
public class SuiteTest {
@Test public void run() {
JUnitCore.runClasses(Test1.class, Test2.class);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9915 次 |
| 最近记录: |