我有一个TestNG类,如下所示:
public class WebAPITestCase extends AbstractTestNGSpringContextTests{.....}
我试图理解这意味着extends AbstractTestNGSpringContextTests
。
它是如何工作的以及它的用途是什么?
答案 0 :(得分:5)
请阅读javadoc:
抽象基础测试类,它集成了Spring TestContext 在TestNG中使用显式ApplicationContext测试支持的框架 环境。
基本上,将为测试类设置spring应用程序上下文。
如果仍然没有意义,我建议您阅读Chapter 11 of Spring Manual on testing。
答案 1 :(得分:0)
首先,TestNG(代表下一代测试)是一个受JUnit和NUnit启发的测试框架,但引入了一些新功能,这些功能使其更强大,更易于使用,例如测试您的代码是多线程安全,强大的。执行模型等。
类AbstractTestNGSpringContextTests
包括弹簧ApplicationContext
。为了使它在执行TestNG测试时可用,AbstractTestNGSpringContextTests
具有使用 TestNG 注释(例如@BeforeClass
和@BeforeMethod
)注释的方法。
因此,要具有通过Spring组件运行TestNG的功能,剩下要做的就是扩展AbstractTestNGSpringContextTests
。
顺便说一句,AbstractTransactionalTestNGSpringContextTests
扩展了AbstractTestNGSpringContextTests
。它不仅提供事务支持,还具有一些方便的JDBC访问功能。