java - Java 包或源文件夹中使用的硬编码字符串/枚举列表

标签 java testing junit

是否有一些测试框架提供一些基本代码来编写测试以验证是否有任何重复的字符串,例如测试获取所有硬编码字符串,如在 java 文件中定义的局部变量/实例变量等(某些包或源文件夹)与定义的常量进行比较。这样做的目的不仅限于检查重复字符串,还可以为某些架构测试奠定基础,例如包 A 中定义的常量不应在某些包中使用。

最佳答案

我认为,这种测试会给团队带来更多的困惑,而不是好的。在一个地方将重复的字符串文字定义为常量基本上是一种很好的做法,但如果您只有一种特定值的用法,则它可能是多余的。此外,如果常量在单个类中多次使用,一些团队更喜欢将常量存储在类中。

最好使用静态代码分析工具,例如Sonar ,为了弄清楚这些东西,如果您多次使用某个字符串文字而不将其定义为常量,它将突出显示。为这样的任务编写单元测试基本上是可能的,但不值得。如果您确定要这样做,则需要访问源文件并编写代码来搜索用双引号引起来的字符串文字并根据您的需要进行检查。

希望对您有所帮助!

关于java - Java 包或源文件夹中使用的硬编码字符串/枚举列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50409711/

相关文章:

java - Apache Camel JUnit 测试警告

java - Firebase 离线后持续写入失败

java - 错误 : Could not find or load main class sun. applet.AppletViewer

java - 禁用 Neo4j 图形数据库的锁定?

perl - 我如何在 Perl 中模拟 Web 服务器?

构造时调用的 C 静态测试

sockets - jmeter - 异步 TCP 采样器选项?

java.lang.IllegalArgumentException : contentIntent required 异常

java - 测试将文件拖放到应用程序上

java - 使用 JUnit 的 Rule 注释的临时文件夹