12

我有一个 TestNG 类,如下所示:

public class WebAPITestCase extends AbstractTestNGSpringContextTests{.....}

我试图理解这意味着什么extends AbstractTestNGSpringContextTests

它是如何工作的,它的用途是什么?

4

2 回答 2

8

请阅读 javadoc:

AbstractTestNGSpringContextTests 是一个抽象的基础测试类,它将 Spring TestContext 框架与 TestNG 环境中的显式 ApplicationContext 测试支持集成在一起。当您扩展 AbstractTestNGSpringContextTests 时,您可以访问一个受保护的 applicationContext 实例变量,您可以使用它来执行显式 bean 查找或测试整个上下文的状态。

基本上将为测试类设置一个弹簧应用程序上下文。

如果这仍然没有意义,我建议您阅读内容。

于 2013-04-05T05:46:59.090 回答
2

首先,TestNG(代表 Test Next Generation)是一个受 JUnit 和 NUnit 启发的测试框架,但引入了一些新功能,使其更强大且更易于使用,例如测试您的代码是否是多线程安全的、强大的执行模型等。

该类AbstractTestNGSpringContextTests包括 spring ApplicationContext。为了在执行 TestNG 测试时使其可用,AbstractTestNGSpringContextTests具有使用TestNG注释(如@BeforeClass和)注释的方法@BeforeMethod

因此,要拥有使用 Spring 组件运行 TestNG 的功能,剩下要做的就是扩展AbstractTestNGSpringContextTests.

顺便说一句,AbstractTransactionalTestNGSpringContextTests扩展 AbstractTestNGSpringContextTests. 它不仅提供事务支持,而且还为 JDBC 访问提供了一些便利功能。

于 2019-03-21T11:58:41.150 回答