一段時間以來,在除錯模式下運行我的測驗時,我得到了以下例外。
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
我還在以下位置創建了一個錯誤報告:
https://youtrack.jetbrains.com/issue/IDEA-300566
甚至運行一個簡單的測驗,如:
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 World。我是另一個專案,它仍然是可能的。在此例外之后還有更多,如果我禁用斷點,則測驗將毫無問題地執行。
uj5u.com熱心網友回復:
發現禁用例外斷點暫時可以解決問題。希望以后能有比這更好的解決方案。
例外似乎不會干擾單元測驗的功能,所以在拋出所有例外之后,代碼內的斷點會再次被訪問。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/505785.html
上一篇:在IntelliJ中查找Java類在參考相等中的所有用途
下一篇:MicronautJAR拋出BeanInstantiationException,但在使用IntelliJ運行時不會