我无法在我的测试用例中模拟任何对象。所以我一定是做错了。我可以不用运行我的测试用例,而且运行正常。但是一旦我试图嘲笑一个物体。当我尝试运行测试用例时,我收到以下错误。
java.lang.ExceptionInInitializerError
at org.mockito.internal.creation.jmock.ClassImposterizer.createProxyClass
(ClassImposterizer.java:85)
我在 Android Studio 上运行我的android项目。这是我的gradle文件的样子
apply plugin: 'android'
依赖{ 编译fileTree(dir:' libs',include:' * .jar') 编译项目(':google-play-services_lib') 编译项目(':facebook-sdk_lib') 编译' de.greenrobot:greendao:1.3.7' 编译" org.mockito:mockito-core:1.9.5" }
android {
packagingOptions { exclude 'META-INF/ASL2.0' exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } compileSdkVersion 19 buildToolsVersion "19.1.0" lintOptions { abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java { srcDir 'src' srcDir 'src-gen' srcDir 'tests' } resources { srcDir 'src' srcDir 'src-gen' } aidl.srcDirs = ['src','src-gen'] renderscript.srcDirs = ['src','src-gen'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } androidTest.setRoot('tests') debug.setRoot('build-types/debug') release.setRoot('build-types/release') } }
我不知道它是否存在大问题。 这里还有我的一个测试类
public class ValueFormatTest extends AndroidTestCase
{
public ValueFormatTest()
{
/* Do Nothing! */
}
/* (non-Javadoc)
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception
{
super.setUp();
}
/* (non-Javadoc)
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception
{
super.tearDown();
}
public final void testFormaterDateTime()
{
Mockito.mock(BaseConnection.class);
Assert.assertEquals("",ValueFormat.formatDateTime(getContext(),2,null));
Assert.assertEquals("",ValueFormat.formatDateTime(getContext(),1,null));
Assert.assertEquals("",ValueFormat.formatDateTime(getContext(), -1, null));
}
}
最后,这可以帮助理解我的类层次结构的样子。如果这甚至有帮助
ProjectFolder
-.idea
-build
-DaoGenerator
-Facebook
-google-play-services
-ModuleCar
|-libs
|-build
|-src
|-src-gen
|-tests
|-lib
|-res
|-src.com.car.test
欢迎任何帮助我找到解决此问题的正确途径的帮助。非常感谢
答案 0 :(得分:0)
我找到了解决问题的方法。在gradle.build
文件中。我改变了我进口Mockito的方式。
问题是它无法找到dexmaker。
compile("org.mockito:mockito-core:1.9.5")
{
exclude group: 'org.hamcrest'
}
compile 'com.google.dexmaker:dexmaker:1.1'
compile 'com.google.dexmaker:dexmaker-mockito:1.1'