Java没有抛出算术异常
我有以下Java代码:Java没有抛出算术异常,java,testng,arithmeticexception,Java,Testng,Arithmeticexception,我有以下Java代码: public class Calc { public int quotient(int a, int b){ return a/b; } } 和TestNG此方法的单元测试: @Test () public void testingMethod3() { Assert.assertEquals(0, calc.quotient(5,0)); } 在我的工作电脑上,我成功地获得了 java.lang.arithmetricExce
public class Calc {
public int quotient(int a, int b){
return a/b;
}
}
和TestNG此方法的单元测试:
@Test ()
public void testingMethod3() {
Assert.assertEquals(0, calc.quotient(5,0));
}
在我的工作电脑上,我成功地获得了
java.lang.arithmetricException:/by零
消息,如预期的那样
但当我的同事在家用计算机上运行此测试时,提到的异常是并没有抛出,测试通过
这种魔法是如何发生的
附言。
环境
操作系统:Windows 10
TestNG版本:6.13.1
Java版本:8(不知道确切的构建版本)
p.p.S。
删除目标文件夹并重建项目是非常有用的解决方案。似乎IDE兑现了旧的项目源代码,在代码更改后没有刷新它们。在过去,我经历过类似于您的情况。因为JDK编译环境和/或JRE运行时环境不同。并且需要检查TestNG的不同版本 通过添加几行代码打印Java属性进行检查
Properties p = System.getProperties();
Enumeration keys = p.keys();
while (keys.hasMoreElements()) {
String key = (String)keys.nextElement();
String value = (String)p.get(key);
System.out.println(key + ": " + value);
}
然后比较没有。值不相同。复制粘贴错误?商方法必须引发异常。它是0的除法。。。如果你的朋友告诉你他没有得到这个异常,他要么是在撒谎,要么是在用另一个0以外的数字来表示b。我不确定复制粘贴错误。这段代码是在家里编写的,并提交到存储库。在工作中,我们只是拉了拉,然后又跑了一次。在两台工作PC上,它都按预期工作,只有一个例外。