我正在使用带有TestNG的Spring Test来测试我们的DAO,我想在某些方法之前运行一个特定的文本夹具脚本,允许在每个方法之后回滚修改,以便测试可以对夹具数据做任何事情. .
最初我认为'群组'适合它,但我已经意识到它们不适合它(参见这个问题:TestNG BeforeMethod with groups).
有没有办法配置一个@BeforeMethod
方法只在特定的@Test
s 之前运行?我看到的唯一方法是解决方法:
定义一个普通的设置方法并在每个@Test
方法的开头调用;
将@BeforeMethod
方法移动到新类(顶级或内部类)以及依赖于它的所有方法.
两者都不理想,我想让我的测试自然分组和清洁,而不是由于缺乏替代品而分裂.
您可以使用"java.lang.reflect.Method"类型添加@BeforeMethod参数.然后,TestNG将为当前测试方法注入反射信息,包括可用于切换的方法名称.
如果添加另一个'Object'参数,您还将获得测试方法的调用参数.
您可以在TestNG文档的第5.18.1章中找到所有可能的TestNG注释方法参数.