2017-07-26 47 views
0

我有一个Android应用程序,其中包含多个Java模块,意味着非Android模块。 一个模块是不依赖于Android App模块的核心模块。但它在运行时需要应用程序上下文。在核心Java模块内访问应用程序上下文以进行Android应用中的JUnit测试

我需要在这个核心模块中创建一个JUnit测试用例,它需要Android应用程序上下文。我可以通过转到Project Settings在IntelliJ Idea中的核心模块中添加Android应用程序模块的依赖项来实现此目的。

但只是为了JUnit测试,我不想放置依赖项。有什么办法来模拟这个应用程序上下文吗?

请让我知道是否有人需要更多的澄清。

+0

如何与语境纯Java模块工作类时语境是不是在类路径? –

+0

@Eugen请参阅下面的答案。 –

回答

2

您可以模拟情境像下面使用Mockito和使用:

private Context context; 

context = Mockito.mock(Context.class); 
+0

是的,它有效,+ 1。但为什么我们不能在这个对象上调用getAssets()。我提到https://stackoverflow.com/questions/32407178/mocking-android-assetmanager但无济于事。 –

+0

这个怎么样https://stackoverflow.com/questions/14970516/use-mockito-to-mock-some-methods-but-not-others –

+0

@Meenal:我得到错误。不能嘲笑/间谍类an​​droid.content.res.AssetManager 的Mockito不能嘲笑以下/间谍: - final类 - 匿名类 - 基本类型 –

相关问题