annotations - 我可以创建一个自定义 JUnit 5 注释 @Defect("Ticket-ID") 并将其映射到 @Tag("Ticket-ID")
问题描述
我想知道如何将参数添加到注释中,然后使用该参数来帮助编写注释。
作为一个简单的例子,假设我想定义@Defect(<Ticket-ID>)
. 除其他外,该注释将添加@Tag(<Ticket-Id>)
.
我可以这样做吗?如果是这样,代码会是什么样子?
解决方案
我认为你不能将@Defect() 映射到@Tag(),也看不到它的意义。您只会更改标签名称。您可以做的是,创建一个映射 @Tag("Defect") 的接口,然后添加一个值作为参数:
@Target({TYPE, METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Test
@Tag("Defect")
@interface Defect {
int value();
}
然后你可以像这样使用它:
@Defect("JiraIssue-1234");
您还可以获取作为参数传递的值,例如:
AnnotationSupport.findAnnotation(_extensionContext.getElement(), Defect.class).get().value()
推荐阅读
- django - Django递归模型
- linux-device-driver - Genymotion 不显示虚拟设备
- visual-studio-code - VS Code:启用内联拼写检查器,但在“问题”面板中禁用拼写检查
- android - 导航抽屉和浮动按钮不能同时工作
- ios - 如何从苹果开发者帐户中删除密钥?
- php - 如何在 laravel 刀片模板中读取多级 JSON 值
- angular - AngularFireStorage 为每次上传返回未定义的 URL
- c++ - std map 如何知道使用 std 字符串的数据作为键
- wordpress - 将 WordPress 迁移到 https 和 docker
- javascript - 烧瓶 request.get.args - 缺少一个 arg