首先,如果有一种更简单的方法来解决这个问题,这里是我想要完成的概述.我想使用KnownIssue注释(扩展AbstractAnnotationDrivenExtension)来注释我的测试方法,该注释将缺陷ID作为参数并在执行测试之前检查缺陷的状态.如果缺陷是固定的,它将继续执行,如果它没有修复我希望它忽略测试,但如果它被关闭或删除,我想引发测试失败,记录说应该删除或更新测试并且删除了注释,因为现在关闭或删除了缺陷.
我一直在努力,直到导致测试失败.我试过的是行不通的:
以下是我在visitFeatureAnnotation方法中的最新尝试:
def myMetaClass = feature.getFeatureMethod().getReflection().declaringClass.metaClass
myMetaClass.KnownIssueMethod = { -> return false }
feature.featureMethod.setReflection(myMetaClass.methods[0].getDoCall().getCachedMethod());
Run Code Online (Sandbox Code Playgroud)
关于如何实现这一点的任何其他想法,或者导致测试失败,或者用另一个失败的方法替换该方法?