gpt4 book ai didi

spring - spring 上下文中的测试套件

转载 作者:行者123 更新时间:2023-12-02 06:24:36 25 4
gpt4 key购买 nike

是否可以使用加载的 spring 上下文运行测试套件,如下所示

@RunWith(Suite.class)
@SuiteClasses({ Test1.class, Test2.class })
@ContextConfiguration(locations = { "classpath:context.xml" }) <------
public class SuiteTest {
}

上面的代码显然不会工作,但是有什么方法可以完成这样的行为吗?

这是目前在我的测试套件中使用 spring 上下文的方式:

@BeforeClass
public static void setUp() {
final ConfigurableApplicationContext context =
loadContext(new String[] { "context.xml" });
jdbcTemplate = (JdbcTemplate) context.getBean("jdbcTemplate");
// initialization of other beans...
}

最佳答案

我已经尝试过你的代码,测试套件正在加载 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 {}

如果您希望 Suite 类拥有自己的应用程序上下文,请尝试以下操作:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:context.xml" })
@Transactional
public class SuiteTest {

@Test public void run() {
JUnitCore.runClasses(Test1.class, Test2.class);
}

}

关于spring - spring 上下文中的测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17484191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com