java - 有没有办法告诉java总是创建一个新实例而不是实习

标签 java testing junit

我最近遇到了一个奇怪的问题,即测试在我们的 Bamboo 盒子上失败,但在开发盒子上却没有。经过大量调试后,我们发现原因是在 Long 而不是 .equals 上使用了 ==。一旦我发现它是有道理的,但令我惊讶的是没有开发人员可以重新创建它,但它总是发生在构建盒上。

对于我们的测试来说,最好能捕捉到这些类型的东西并尝试在它不想要的地方阻止 ==,但我不知道有什么方法可以告诉 Java 不要实习 Longs、Strings 等。 .. 是否可以为 JVM 提供一个设置来处理这个问题?

最佳答案

检测此类问题的一种方法是在构建期间对代码执行静态分析。我相信FindBugs有一个引用相等检测器。

参见:Suspicious Reference Comparison

关于java - 有没有办法告诉java总是创建一个新实例而不是实习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18641780/

相关文章:

testing - 誓言:测试异步交错

java - Spring ReflectionTestUtils 不设置原始数据类型字段

java - 如何在robotium中获取textview的背景颜色

java - 如何让我的图像在 android studio 中淡出?

javascript - 无法测试 ng-template 中的输入

java - 为什么我的 OSGI 示例不会在 bundle 启动时打印 "Hello World"?

javascript - 如何使用 yield generator 异常测试 chai

java - 执行 JUnit 测试时如何使用 'java' 命令选项/参数

java - "Error: Could not find or load main class"启动Hadoop时

java - 使用 1 个数组实现 3 个堆栈,此代码是否有效?