java - TestNG - @BeforeMethod 用于特定方法

标签 java spring testng spring-test

我正在使用带有 TestNG 的 Spring Test 来测试我们的 DAO,我想在某些方法之前运行一个特定的文本夹具脚本,允许在每个方法之后回滚修改,以便测试可以自由地做任何事情夹具数据。

最初我认为“组”适合它,但我已经意识到它们不适合那个(参见这个问题:TestNG BeforeMethod with groups)。

有没有办法配置一个@BeforeMethod 方法只在特定的@Test 之前运行?我看到的唯一方法是解决方法:

  • 定义一个普通的设置方法,并在每个@Test方法的开头调用;
  • @BeforeMethod 方法连同依赖它的所有方法一起移至新类(顶层或内部类)。

两者都不是理想的,我想让我的测试自然地分组和干净,而不是因为缺乏替代品而 split 。

最佳答案

您可以在@BeforeMethod 中添加类型为“java.lang.reflect.Method”的参数。然后,TestNG 将注入(inject)当前测试方法的反射信息,包括方法名称,您可以使用这些信息进行切换。

如果再添加一个'Object'参数,也会得到测试方法的调用参数。

您都可以在 TestNG 文档的第 5.18.1 章中找到有关 TestNG 注释方法的所有可能参数。

关于java - TestNG - @BeforeMethod 用于特定方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640721/

相关文章:

java - 如何将 TestNG 与 Java Play 2.4.x 一起使用?

testng - 在 TestNg 软断言中显示 assertEquals 错误消息以及给定自定义消息的任何方式

java - ResultSet.TypeForwardOnly 和 Result Set.Type Scrollable 之间的区别

java - 单击按钮后变量不持久

java - 将 "mvnw clean package"的属性添加到 application.properties ?

testng - 如何在testng.xml中添加监听器类?

java - 将 JButton 放在右上角

java - org.apache.commons.codec.DecoderException : Odd number of characters

spring - 如何在您的配置中修复 "Consider defining a bean of type ' org.jooq.DSLContext'。”更新到 jOOQ 3.15.0 后

spring - @PathVariable 验证给出 500 而不是 400