2015-09-14 134 views
1

我正在对android中类中的某个方法执行junit测试。根据http://code.google.com/appengine/docs/java/tools/localunittesting.html的信息,我应该将下面的库添加到我的类路径中。将JAR文件添加到您的测试类路径中:

${SDK_ROOT}/lib/impl/appengine-api.jar 
${SDK_ROOT}/lib/impl/appengine-api-labs.jar 
${SDK_ROOT}/lib/impl/appengine-api-stubs.jar 

我的问题是,我在哪里得到这个库,我应该如何添加它们?我正在使用在ubuntu 15 64bit上运行的android studio。

相当新的Android和GAE的东西!

我曾尝试 这是我已经添加到我的modlue的的build.gradle

dependencies { 
testCompile 'junit:junit:4.12' 
testCompile "org.mockito:mockito-core:1.9.5" 
testCompile 'com.google.appengine:appengine-testing:1.8.2' 
testCompile 'com.google.appengine:appengine-api-labs:1.8.2' 
testCompile 'com.google.appengine:appengine-api-stubs:1.8.2' 
testCompile 'com.google.appengine:appengine-tools-sdk:1.8.2' 
testCompile 'org.json:json:20141113' 
} 

当我尝试运行我的JUnit测试类。这就是我得到

com.googlecode.objectify.SaveException: Error saving 
[email protected]: No API environment is registered for this thread. 

com.googlecode.objectify.impl.EntityMetadata.save(EntityMetadata.java:95) 
at com.googlecode.objectify.impl.WriteEngine.save(WriteEngine.java:75) 
    at com.googlecode.objectify.impl.SaverImpl.entities(SaverImpl.java:60) 
    at com.googlecode.objectify.impl.SaverImpl.entity(SaverImpl.java:35) 

org.mockito.internal.runners.JUnit45AndHigherRunnerImpl.run(JUnit45AndHigherRunnerImpl.java:37) 
at org.mockito.runners.MockitoJUnitRunner.run(MockitoJUnitRunner.java:62) 
at org.junit.runner.JUnitCore.run(JUnitCore.java:137) 
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78) 
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212) 
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) 
Caused by: java.lang.NullPointerException: No API environment is registered for this thread. 

回答

1

注:我一无所知GAE,但在这里是如何从文件夹添加罐测试类路径中。

在与libs文件夹相同的目录中创建一个新文件夹(在此图片中称为testlibs)。在这个目录中,你应该放置这些罐子。现在

Folder

,添加到模块(而不是项目)的build.gradle,里面dependencies块:

dependencies { 
    ... 
    testCompile fileTree(dir: 'testlibs', include: ['*.jar']) 
} 
在测试中

现在(JUnit中,未实现的),你可以使用来自jar的方法。

+0

如何在同步我的项目后下载这些.jar文件?他们在哪个文件夹中存储? –

+0

http://stackoverflow.com/questions/5405211/initialize-local-datastore-exception-no-api-environment-is-registered-for-this –

+0

如何添加这些.jar文件。我是通过将它们包含在模块的gradle文件中来做正确的方式吗?因为它来自正在创建测试课程的这个模块。 –

相关问题