我有一个 TestNG 类,如下所示:
public class WebAPITestCase extends AbstractTestNGSpringContextTests{.....}
我试图理解这意味着什么extends AbstractTestNGSpringContextTests
。
它是如何工作的,它的用途是什么?
我有一个 TestNG 类,如下所示:
public class WebAPITestCase extends AbstractTestNGSpringContextTests{.....}
我试图理解这意味着什么extends AbstractTestNGSpringContextTests
。
它是如何工作的,它的用途是什么?
请阅读 javadoc:
AbstractTestNGSpringContextTests 是一个抽象的基础测试类,它将 Spring TestContext 框架与 TestNG 环境中的显式 ApplicationContext 测试支持集成在一起。当您扩展 AbstractTestNGSpringContextTests 时,您可以访问一个受保护的 applicationContext 实例变量,您可以使用它来执行显式 bean 查找或测试整个上下文的状态。
基本上将为测试类设置一个弹簧应用程序上下文。
如果这仍然没有意义,我建议您阅读此内容。
首先,TestNG(代表 Test Next Generation)是一个受 JUnit 和 NUnit 启发的测试框架,但引入了一些新功能,使其更强大且更易于使用,例如测试您的代码是否是多线程安全的、强大的执行模型等。
该类AbstractTestNGSpringContextTests
包括 spring ApplicationContext
。为了在执行 TestNG 测试时使其可用,AbstractTestNGSpringContextTests
具有使用TestNG注释(如@BeforeClass
和)注释的方法@BeforeMethod
。
因此,要拥有使用 Spring 组件运行 TestNG 的功能,剩下要做的就是扩展AbstractTestNGSpringContextTests
.
顺便说一句,AbstractTransactionalTestNGSpringContextTests
扩展 AbstractTestNGSpringContextTests
. 它不仅提供事务支持,而且还为 JDBC 访问提供了一些便利功能。