android junit getApplication 为空,怎么回事?

mimixi666 2016-10-31 08:11:13
就是我想搭建测试环境,但是getApplication为空,gradle环境配置也已经配置了,应该没有漏吧?找了很多网上所说的配置,但是还是失败,如果不用getApplication(),它是可以通过测试的。


public class CallServiceTest extends ServiceTestCase<CallService> {

public CallServiceTest() {
super(CallService.class);
}

@Override
public void setUp() throws Exception {
super.setUp();
getApplication().onLowMemory();
}

public void testSomething() throws Exception {
System.out.println("1");
assertEquals(1, 1);
System.out.println("2");
}
}




gradle:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

androidTestCompile 'com.android.support:support-annotations:23.1.0'
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4.1'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1'
androidTestCompile 'com.android.support.test.espresso:espresso-web:2.2.1'
compile 'com.android.support:appcompat-v7:23.1.0'
testCompile 'junit:junit:4.12'
...
}

defaultConfig {
applicationId "com.revenco.av_talk"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
minSdkVersion 17
targetSdkVersion 18
versionCode 1
versionName "1.0"
}

testOptions {
unitTests.returnDefaultValues = true
}
//ADD THESE LINES:
packagingOptions {
exclude 'LICENSE.txt'
}



报的错:
java.lang.NullPointerException
at com.revenco.test.CallServiceTest.setUp(CallServiceTest.java:24)
at junit.framework.TestCase.runBare(TestCase.java:139)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:252)
at junit.framework.TestSuite.run(TestSuite.java:247)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:119)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
...全文
280 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mimixi666 2016-11-02
  • 打赏
  • 举报
回复
引用 6 楼 sagittarius1988 的回复:
[quote=引用 5 楼 mimixi666 的回复:] [quote=引用 3 楼 sagittarius1988 的回复:] [quote=引用 2 楼 mimixi666 的回复:] [quote=引用 1 楼 sagittarius1988 的回复:] manifest里没配置?
看了网上很多资料,说manifest是不需要配置的啊。 那如果要配置,要配置什么?[/quote] application配置上去啊[/quote] 我这个也没有自定义的application[/quote] 没有的话,你getApplication当然就为null咯[/quote] 但是getContext,getSystemContext,getService也还是不行, service已经在manifest配置了啊
sagittarius1988 2016-11-01
  • 打赏
  • 举报
回复
引用 2 楼 mimixi666 的回复:
[quote=引用 1 楼 sagittarius1988 的回复:] manifest里没配置?
看了网上很多资料,说manifest是不需要配置的啊。 那如果要配置,要配置什么?[/quote] application配置上去啊
mimixi666 2016-11-01
  • 打赏
  • 举报
回复
引用 1 楼 sagittarius1988 的回复:
manifest里没配置?
看了网上很多资料,说manifest是不需要配置的啊。 那如果要配置,要配置什么?
sagittarius1988 2016-11-01
  • 打赏
  • 举报
回复
manifest里没配置?
sagittarius1988 2016-11-01
  • 打赏
  • 举报
回复
引用 5 楼 mimixi666 的回复:
[quote=引用 3 楼 sagittarius1988 的回复:] [quote=引用 2 楼 mimixi666 的回复:] [quote=引用 1 楼 sagittarius1988 的回复:] manifest里没配置?
看了网上很多资料,说manifest是不需要配置的啊。 那如果要配置,要配置什么?[/quote] application配置上去啊[/quote] 我这个也没有自定义的application[/quote] 没有的话,你getApplication当然就为null咯
mimixi666 2016-11-01
  • 打赏
  • 举报
回复
引用 3 楼 sagittarius1988 的回复:
[quote=引用 2 楼 mimixi666 的回复:] [quote=引用 1 楼 sagittarius1988 的回复:] manifest里没配置?
看了网上很多资料,说manifest是不需要配置的啊。 那如果要配置,要配置什么?[/quote] application配置上去啊[/quote] 我这个也没有自定义的application
mimixi666 2016-11-01
  • 打赏
  • 举报
回复
引用 3 楼 sagittarius1988 的回复:
[quote=引用 2 楼 mimixi666 的回复:] [quote=引用 1 楼 sagittarius1988 的回复:] manifest里没配置?
看了网上很多资料,说manifest是不需要配置的啊。 那如果要配置,要配置什么?[/quote] application配置上去啊[/quote] 应该不是这个问题吧?我这个是android studio的 后来我也换了getContext,getSystemContext,getService也还是不行, service已经在manifest配置

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧