Android Junit 单元测试 Method wrap in org.json.JSONObject not mocked
生活随笔
收集整理的這篇文章主要介紹了
Android Junit 单元测试 Method wrap in org.json.JSONObject not mocked
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
今天在運行單元測試時報了一個錯誤
java.lang.RuntimeException: Method wrap in org.json.JSONObject not mocked. See http://g.co/androidstudio/not-mocked for details
但是將測試代碼放到 AndroidTest 中,運行結(jié)果正常。這是因為 org.json.JSONObject 被包含在 android.jar 中。而用于運行單元測試的 android.jar 文件不包含任何實際的代碼(實際的代碼由程序所運行在的 Android 真實設(shè)備提供),相反,所有的方法拋出異常(默認情況下)。
因此需要確保您的單元測試只是測試你的代碼,不依賴于 Android 平臺的任何特定行為。
但是由于調(diào)試效率問題,使用 Junit 進行代碼測試肯定比跑 AndroidTest 來的快。
解決方案:
gradle 選項卡的代碼和實際使用的有不小的差異,直接從 Builder 選項卡中復(fù)制(把jar去掉)即可
使得可以讓本該拋出錯誤的代碼,返回一個默認值,諸如 null,0,false 等。
另外,要注意一點,Unit Test 應(yīng)該是盡可能獨立的。對一個 class 的 Unit Test 不應(yīng)該再和其他 class 有任何交互。
總結(jié)
以上是生活随笔為你收集整理的Android Junit 单元测试 Method wrap in org.json.JSONObject not mocked的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 过程控制实验装置
- 下一篇: android sina oauth2.