作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试编写一些注释来帮助将测试用例方法与各种元数据相关联。到目前为止,我的注释包括 BugFix、UseCase 和 Requirement。我的最终目标是编写一个注释处理器来显示哪些测试用例与各个错误修复、用例和需求相关联。
当我刚刚为我自己的项目实现它时,我为每个测试关联类别创建了特定于我的项目的枚举。例如,我有 ProjectUseCase 枚举,我可以将其作为值传递给测试方法上的 UseCase 注释。这使得在一个地方添加额外用例或修改用例变得容易。
现在,我想让我工作中的其他开发人员可以使用此代码。当然,他们将从事其他项目,具有不同的用例、要求和错误修复。
以下是我遇到的问题:
据我所知,这让我只能使用原始字符串作为值,这剥夺了我的类型安全性和快速重构的能力。使用常量字符串类代替枚举似乎是处理此问题的最佳方式,因为每个开发人员都可以使用自己的类。
我唯一能想到的另一件事是引用一个 Enum 类(或一类常量字符串),而不是将类包含在 jar 中,留给用户实现。
有什么建议或解决方法吗?
我还想知道是否有任何项目已经提供了类似的功能。
最佳答案
是的。
解决这个问题的唯一好方法是允许任意用户定义的注释,这样如果我的枚举是 FooEnum,我就可以定义使用它的 FooAnnotation。您的框架可以通过查看 它 本身是否使用 @UseCase
(或您喜欢的任何内容)进行元注释,将 FooAnnotation 识别为它正在寻找的注释!
关于java - 如何使用多个枚举类型编写注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2105339/
我是一名优秀的程序员,十分优秀!