首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >去窃听时NoSuchFieldExpression

去窃听时NoSuchFieldExpression
EN

Stack Overflow用户
提问于 2022-08-25 09:11:52
回答 1查看 43关注 0票数 0

从一段时间以来,在调试模式下运行测试时,我得到了以下异常。

代码语言:javascript
复制
java.lang.NoSuchFieldException: serialPersistentFields
at java.base/java.lang.Class.getDeclaredField(Class.java:2642)
at java.base/java.io.ObjectStreamClass.getDeclaredSerialFields(ObjectStreamClass.java:1634)
at java.base/java.io.ObjectStreamClass.getSerialFields(ObjectStreamClass.java:1608)
at java.base/java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:398)
at java.base/java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:384)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at java.base/java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:384)
at java.base/java.io.ObjectStreamClass$Caches$1.computeValue(ObjectStreamClass.java:110)
at java.base/java.io.ObjectStreamClass$Caches$1.computeValue(ObjectStreamClass.java:107)
at java.base/java.io.ClassCache$1.computeValue(ClassCache.java:73)
at java.base/java.io.ClassCache$1.computeValue(ClassCache.java:70)
at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:228)
at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:210)
at java.base/java.lang.ClassValue.get(ClassValue.java:116)
at java.base/java.io.ClassCache.get(ClassCache.java:84)
at java.base/java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:363)
at java.base/java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:246)
at org.junit.platform.launcher.TestIdentifier.<clinit>(TestIdentifier.java:51)
at com.intellij.junit5.JUnit5IdeaTestRunner.<clinit>(JUnit5IdeaTestRunner.java:72)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:383)
at java.base/java.lang.Class.forName(Class.java:376)
at com.intellij.rt.junit.JUnitStarter.getAgentClass(JUnitStarter.java:244)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:225)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)

我已经找到了以下链接:

NoSuchFieldException when field exists

我还创建了一个Bug报告:

https://youtrack.jetbrains.com/issue/IDEA-300566

甚至运行一个simpleTest,比如:

代码语言:javascript
复制
package com.example.package

import io.kotest.matchers.shouldBe
import org.junit.jupiter.api.Test

class SampleTest {
    @Test
    fun someTest(){
        //Arrange
        val a = 5
        val b = 10
        //Act
        val res = a + b
        //Assert
        res.shouldBe(15)
    }
}

导致上述异常。

是否有人得到了这个问题,并找到了解决办法。我没有序列化任何东西。我甚至不能调试最简单的测试,打印Hello。我还有另外一个项目,那还是有可能的。在这个异常之后,会有更多的异常出现,如果我禁用断点,那么测试就会没有问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-29 14:17:44

发现禁用异常断点暂时解决了问题。希望将来有一个比这更好的解决办法。

异常似乎不会干扰单元测试的功能,因此在代码中抛出的所有异常再次被访问之后。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73484892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档