2014-02-18 38 views
0

我有一個Android項目,我正在嘗試編寫單元測試。我的Android應用程序有一個名爲'Command.java'的文件,用於保存我的Command類。在我的單元測試中,我正在嘗試爲測試目的創建此Command類的一些實例。我的單元測試編譯得很好,但是在將它們部署到Android Simulator後,出現以下錯誤:java.lang.NoClassDefFoundError:com.myapp.Command。Intellij android單元測試給我java.lang.NoClassDefFoundError

看起來單元測試在運行時不知道Command類。我已經檢查過單元測試模塊有我的Android應用程序作爲範圍'提供'的依賴項。

我在這裏做錯了什麼?

回答

0

「提供」意味着依賴將由容器或運行該類的任何人「提供」到類中,並且它不應該在部署期間打包依賴。

在你的情況下,範圍應該是「測試」或「編譯」。

如果您在模擬器之外運行測試,則該類可用。爲了在模擬器中運行測試用例,打包代碼並應用上述規則。