我们刚刚开始使用TestNG来实现我们的测试。现在我们已经定义了四组来安排我们的测试(即GroupA,GroupB,GroupC和GroupD)。
TestNG是否有可能通过使用这些群组来防止拼写错误?
@Test(groups = {"GroupA", "GoupB"})
我们如何向开发人员提供有关拼写错误的建议?" GroupB" (缺少r)?也可以只允许组的预定义名称。
一个想法是定义代码模板,可以通过template.xml将其包含在Eclipse中。但这似乎不是开发人员友好的。
任何其他想法将不胜感激。
提前致谢。
答案 0 :(得分:0)
使用IAnnotationTransformer接口。通过ITestAnnotation对象中的setGroups方法覆盖变换方法。在外面维护小组 在config,xml,csv或任何其他文件中的某个地方。这是我想的唯一方式。因为@Test annonation只能由IAnnotationTransformer
更改答案 1 :(得分:0)
只需使用常量......
您可以使用包含以下常量的专用类:
public class TestType {
private static final String GROUP_A = "GroupA";
private static final String GROUP_B = "GroupB"
/**
* Avoid instantiation
*/
private TestType() {
}
}
而不是:
@Test(groups = {TestType.GROUP_B, TestType.GROUP_A})
这对我们很有用。 唯一的小问题(如果你使用Maven)是你必须在每个单独的项目中有这样的类或将其提取到一些常见的测试Jar中。因为默认情况下Maven不允许共享测试依赖项。 (我知道可以在具有特殊maven补丁插件的项目之间共享测试jar,但不会再次走这条路了。)
在核心评论期间推广使用这些常量。
顺便说一下,错过的测试应该会降低测试覆盖率。