gpt4 book ai didi

java - 为什么断言在 RUN 下会失败,而在 DEBUG 下不会失败?

转载 作者:行者123 更新时间:2023-12-01 06:02:46 25 4
gpt4 key购买 nike

单元测试中的行为非常奇怪。该代码位于另一台计算机上,因此我将简写其主要方面。

问题是

  • 当我以 RUN 方式进行测试时,测试会检查两个对象的 10 个属性,但未能表明该对象包含 19 个属性。
  • 当我以 DEBUG 方式进行测试时,两个对象的测试均通过,每个对象都有 10 个属性。

这到底是怎么发生的?

    @Test
public void testConverterTwoObjects(){
InputStream inFile = this.getClass().getResourceAsStream(TEST_TWO_OBJECTS);

try{
List<MyObject> objs = getConvertedObjects(inFile);
MyObject mob1 = objs.get(0);
MyObject mob2 = objs.get(1);

assertionCheck(mob1);
assertionCheckTwo(mob2);
} catch(Exception e){
// logging
} finally {
try{
inFile.close();
} catch(IOException ioe){
// logging
}
}
}

private void assertionCheck(MyObject t){
assertNotNull(t);
assertEquals(10, t.getPropertyCount());
assertEquals("ALPHA", t.getType());
...
}

private void assertionCheckTwo(MyObject t){
assertNotNull(t);
assertEquals(10, t.getPropertyCount());
assertEquals("BRAVO", t.getType());
...
}

最佳答案

我在 PyCharm (Intellij IDEA for Python) 中遇到了类似的问题。经过几个小时的搜索,结果发现垃圾收集器在 Debug模式下的行为与在运行模式下的行为不同。

关于java - 为什么断言在 RUN 下会失败,而在 DEBUG 下不会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53870965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com