在TestNG中,我在许多类中进行了许多测试,这些类需要页面和/或文章以及可能的其他数据设置。这些数据需要是唯一的(AKA,Test1和Test2都需要一篇文章,但它们必须处理相同但相互独立的文章,因此它们不会相互冲突)。我通过dataProviders提供文章名称/页面名称。
这是我尝试/考虑的内容:
@dependsOnMethods
。不会起作用,因为它不能跨越。@dependsOnGroups
。这就产生了为所有测试创建单个文章的问题。@beforeMethods
。我不能使用它,因为我无法传递数据@factory
。我无法使用这个,因为我使用的是公司范围内的解决方案,目前使用它来传递webDriver并在后台使用代码基本上我需要一种方法在函数中抛出SkipException,如果之前已经失败了,而不使用上面的4个注释。
编辑:我意识到这个问题还不完整。我将两个函数传递给每个函数:一个角色,以及新创建的页面/文章/其他东西的名称。如果我使用不同的名称运行相同的方法两次但传入相同的角色,并且它失败,那么第二次,它应该跳过它...但是,我可能正在使用一个没有足够的角色来测试它权限,这将导致抛出异常,但这并不意味着我不想与其他角色一起运行它。