2011-06-03 168 views
7

我很不穩定與單元測試,但我有我的代碼的一部分,我真的需要確定其一致性。我試圖使用JSON將數據從對象傳輸到外部文件,所以我想確保何時從外部文件中提取數據,它將是相同的。運行時錯誤,當JUnit測試

我正在使用單元測試來斷言這種平等,但我遇到了一個問題,我不知道如何處理。這是一個運行時錯誤,這是控制檯讀取的內容。

A fatal error has been detected by the Java Runtime Environment: 

Internal Error (classFileParser.cpp:3494), pid=5032, tid=7048 
Error: ShouldNotReachHere() 

JRE version: 6.0_25-b06 
Java VM: Java HotSpot(TM) 64-Bit Server VM (20.0-b11 mixed mode windows-amd64 compressed oops) 
An error report file with more information is saved as: 
L:\fliphouseWorkspace\Luas\hs_err_pid5032.log 

If you would like to submit a bug report, please visit: 
http://java.sun.com/webapps/bugreport/crash.jsp 

任何幫助,將不勝感激謝謝。

+1

重複:[致命錯誤由Java運行時環境](http://stackoverflow.com/questions/2543106/fatal-error-by-java-runtime-environment) – 2011-06-03 12:35:08

+0

@Tomasz Blachowicz是正確的。檢查如果android。大部分的Android都出現這樣的錯誤 – 2011-06-03 14:41:33

+0

類似於[在eclipse中不能運行JUnit 4測試用例](http://stackoverflow.com/questions/2172152/cant-run-junit-4-test-case-in-eclipse ) – idbrii 2011-07-07 01:05:58

回答

2

這與您的代碼無關,看起來像是一個真正的JVM錯誤。 JVM不應該像那樣崩潰。使用Oracle提交錯誤報告。

+0

非常感謝你。我確實在日誌文件中查看了更多細節,並且它非常詳細但又令人困惑。 – Hugs 2011-06-03 12:47:01

2

我假設你使用的是android,因爲大部分人似乎都遇到了android和junit的問題。
我發現這個博客條目,他們在評論部分討論特定問題。 其中一條評論提到了這個特殊的錯誤。 你可以在這裏找到一些幫助。 http://dtmilano.blogspot.com/2008/11/android-testing-on-android-platform.html

建議的選項之一是刪除「bin」和「gen」目錄,然後重試。 ShouldNotReachhere classFileParser ANDROID

+0

呃不,它說他正在使用哪個JVM,這不是Android的。 – Tnem 2011-06-03 12:34:42

+1

@Tnem,好的,我得再次編輯一遍,喝點咖啡。看起來像JUNIT使用JVM – 2011-06-03 12:41:21

+0

死我正在開發一個應用程序,並試圖測試它。我在兩種單元測試方面都很缺乏經驗,並且只是首先嚐試用Java進行測試。這可能是測試Android的糟糕方式,但我並沒有真正測試與Android相關的任何事情。謝謝回覆。我想我會得到一個測試項目去測試。 – Hugs 2011-06-03 12:44:09

3

如果您使用Eclipse開發Android應用程序,這裏有另一種可能的解釋:http://independentlyemployed.co.uk/2010/11/17/worked-out-why/。 (顯然,如果您嘗試在同一個Eclipse工作區中嘗試開發Android和常規Java,也會發生這種情況;請參閱https://stackoverflow.com/a/3223929/139985

如果您不是,那麼我認爲一般問題是JVM正在下降而試圖解析(可能加載)一個類文件。最可能的原因似乎是類文件以某種方式被破壞。如果是這種情況,那麼這不是JVM的錯誤。 JVM可能別無選擇,只能通過崩潰報告報告這類問題,因爲它可能發生在JVM引導過程中。


這是Java Bug Database中的一個條目,它報告了這一點:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7032077。不幸的是,它已被關閉,因爲不可重現。

+1

如果有一個受到破壞的類文件,JVM應該發出一個抱怨它的恰當的異常,而不是以這種方式崩潰,所以它可以說仍然是一個錯誤。 – artbristol 2011-06-03 13:42:32

+0

@artbristol - 我在回答的最後2句話中已經介紹了這一點。 – 2011-06-03 15:38:23