繁体   English   中英

将JAR文件添加到测试类路径:

[英]Adding JAR files to your testing classpath:

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

${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 
com.top.ash.backend.entities.Ameggedon@589b3632: 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.

注意: 我对GAE一无所知,但是这里是如何从文件夹添加jar到测试类路径的。

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

夹

现在,添加到模块(而不是项目)的build.gradle中,在dependencies块内:

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

现在在你的测试中(Junit,而不是仪器)你可以使用jar中的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM