是否有一些测试框架提供了一些基础代码来编写测试,以验证是否存在任何重复的字符串,例如,test会将java文件(某些包或源文件夹)中定义的所有硬编码字符串(如局部变量/实例变量等)与定义的常量进行比较。这样做的目的不仅限于检查重复的字符串,还可以为一些架构测试提供基础,比如在包A中定义的常量不应该在某些包中使用。
发布于 2018-05-18 11:00:37
我认为,这种测试会给团队带来更多的困惑,而不是好处。在一个地方将重复的字符串文字定义为contants基本上是一种好的做法,但是如果特定值只有一次使用,那么它可能是多余的。此外,如果常量在单个类中多次使用,一些团队更喜欢将常量存储在类中。
最好使用Sonar之类的静态代码分析工具来找出这样的东西,如果您多次使用某些字符串文字而没有将其定义为常量,它将突出显示出来。为这样的任务编写单元测试基本上是可能的,但不值得。如果您确定要这样做,则需要访问源文件并编写代码来搜索用双引号括起来的字符串文字,并根据您的需要进行检查。
希望它能帮上忙!
发布于 2018-05-18 12:03:12
考虑使用SonarQube查找重复的字符串。
对于在包A中定义并且不应该在包B中使用的常量,我想您最好将常量的范围缩小到private或package-private。
https://stackoverflow.com/questions/50409711
复制