JMock罐子无法在Android测试项目中运行(该项目未构建) [英] JMock jars do not work inside Android test project (project doesn't build )

查看:83
本文介绍了JMock罐子无法在Android测试项目中运行(该项目未构建)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了Android测试项目,并想在其上使用JMOCK. 我将以下jar添加到我的项目类路径中

I created Android test project and want to use JMOCK on it. I include following jars to my project classpath

  • amcrest-all-1.1.jar
  • jmock-2.5.1.jar
  • jmock-junit4-2.5.1.jar
  • junit.jar
  • objenesis-1.0.jar

直到编译,我收到以下错误消息:

until compiling i've got this error message :

[2012-07-06 17:14:40-模拟测试] Dx ...字节码偏移量0000001b 当地人[0000]:Lorg/hamcrest/generator/qdox/parser/impl/JFlexLexer; locals [0001]:I locals [0002]:[C locals [0003]:[C locals [0004]:[I 当地人[0005]:[我本地人[0006]:当地人[0007]: 当地人[0008]:当地人[0009]:当地人[000a]: 当地人[000b]:本地人[000c]: 当地人[000d]:本地人[000e]:本地人[000f]: locals [0010]:stack [top0]:[B ...正在处理 块001b ...正在处理方法yylex :()I ...正在处理 yylex()I ...正在处理 org/hamcrest/generator/qdox/parser/impl/JFlexLexer.class

[2012-07-06 17:14:40 - mockTest] Dx ...at bytecode offset 0000001b locals[0000]: Lorg/hamcrest/generator/qdox/parser/impl/JFlexLexer; locals[0001]: I locals[0002]: [C locals[0003]: [C locals[0004]: [I locals[0005]: [I locals[0006]: locals[0007]: locals[0008]: locals[0009]: locals[000a]: locals[000b]: locals[000c]: locals[000d]: locals[000e]: locals[000f]: locals[0010]: stack[top0]: [B ...while working on block 001b ...while working on method yylex:()I ...while processing yylex ()I ...while processing org/hamcrest/generator/qdox/parser/impl/JFlexLexer.class

[2012-07-06 17:14:40-模拟测试] Dx 1错误;正在中止[2012-07-06 17:14:40-模拟测试]转换为Dalvik格式失败,错误1

[2012-07-06 17:14:40 - mockTest] Dx 1 error; aborting [2012-07-06 17:14:40 - mockTest] Conversion to Dalvik format failed with error 1

出什么问题了?类路径中有任何不正确的jar吗?

What is the problem? is there any incorrect jar in classpath?

推荐答案

问题是JMock使用动态字节码生成来工作,但是Dalvik无法做到这一点:动态字节码生成被编译为不支持的JVM字节码.达尔维克因此,转换时会出错.

The problem is that JMock works using dynamic bytecode generation, but Dalvik isn't capable of doing that: dynamic bytecode generation is compiled down to JVM bytecode that's not supported by Dalvik; hence the error when converting.

不幸的是,这意味着您不能在Android上使用JMock -如果需要它进行测试,则必须在JVM上运行这些测试.

Unfortunately, that means you can't use JMock on Android -- if you need it for testing, you'll have to run those tests on a JVM.

这篇关于JMock罐子无法在Android测试项目中运行(该项目未构建)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆