PowerMock与hibernate验证器的错误(JSR-303)。
我们正在使用PowerMock来模拟静态方法.我们的代码似乎如下 public class ValidationLayer{ private GenericInputValidator v; public ValidationLayer(GenericValidator v){ this.v = v; } public boolean isValid(MyObject obj){ Logger.info(MyFinalClass.staticMethod()); return v.validate(); } } public class GenericInputValidator{ private MyOwnValidator validator; //setters & getters public boolean validate(Object toBeValidated){
26 2024-03-29
编程技术问答社区
Apache Spark Streaming的集成测试失败
我一直在尝试通过我为Apache Spark Project编写的一些单元/集成测试来追踪问题. 使用Spark 1.1.1时,我的测试通过了.当我尝试升级到1.4.0(也尝试过1.4.1)时,测试开始失败. 我设法减少了将问题复制到下面的小型集成测试所需的代码. 有趣的是,如果我在测试中评论@runwith注释,那么测试可以正确通过.显然,我不需要@runwith注释来进行此减少测试,但是真正的测试可以广泛地使用模拟,因此我宁愿不必使用PowerMock丢弃. package com.example; import org.apache.spark.SparkConf; import org.apache.spark.streaming.Duration; import org.apache.spark.streaming.api.java.JavaStreamingContext; import org.junit.Before; import org.ju
10 2024-02-29
编程技术问答社区
嘲弄HttpClient.execute问题。洛克托
我正在尝试测试此方法. @Override public JSON connectResource() throws IOException { //get the location and credentials for the certificates System.setProperty("javax.net.ssl.trustStore", "C:/Program Files/Java/jdk1.7.0_40/jre/lib/security/cacerts"); System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); HttpRequest httpRequest = new HttpGet(url); System.out.println("hello"); httpRequest.addHeader("Accept", "applicatio
36 2024-02-28
编程技术问答社区
使用骆驼的力量模拟的麻烦
由于我必须模拟静态方法,因此我使用 Power Mock 来测试我的应用程序. 我的应用程序使用 *骆驼2.1 *2. 我在 xml 中定义路由,该路由由camel-spring 上下文读取. 单独使用Junit进行测试时没有问题. 在使用Power Mock时,我在帖子末尾列出了错误. 我还列出了使用的XML. 骆驼在使用电源模拟时无法识别其任何标签. 我想知道,通过Power模拟进行模拟静态方法进行的字节级操作是否会以某种方式干扰骆驼引擎.让我知道有什么可能是错误的. ps: 如果我不使用电源模拟,问题就会消失. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++ [ main] CamelNamespaceHandler DEBUG
6 2024-02-28
编程技术问答社区
RunWith(PowerMockRunner.class)与包注释不起作用
我试图让Runwith(PowerMockRunner.Class)与我现有的软件包注释一起工作. 版本: PowerMock 1.4.12 Mockito 1.9.0 Junit 4.8.2 package-info.java //这是针对软件包注释 @TestAnnotation(version="1.0") package com.smin.dummy; testannotation.java //这是包装" com.smin.dummy" 的元数据注释类 package com.smin.dummy; import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PACKAGE) public @interface TestAnnotation { String version(); } a.java package c
18 2024-02-26
编程技术问答社区
验证一个静态方法是否被PowerMock中的另一个静态方法调用了
我有一个具有两个静态方法的工具类,即dosomething(object)和calldosomething().名称是直观的,因为CallDosothing会委托其呼叫dosomething(object); public class Tool { public static void doSomething( Object o ) { } public static void callDoSomething() { doSomething( new Object()); } } 我有一个用于工具的测试类,我想验证是否调用了dosomething(对象)(我想在以后也匹配参数) @RunWith( PowerMockRunner.class ) @PrepareForTest( { Tool.class } ) public class ToolTest { @Test public void toolTest() {
10 2024-02-19
编程技术问答社区
Android Kotlin: 使用Mockito/PowerMock嘲弄一个自由函数
我在Kotlin中有一个免费的功能,我想为测试目的模拟. 我的免费功能就是这样: fun somethingAwesomeIsDoneHere(param: String) : String { // Awesome } 在我的测试中,我想模拟/存根,以便将其称为模拟值时. when(somethingAwesomeIsDoneHere(something)).thenReturn(retValue) 即使可以用PowerMock完成,请告诉我. ps:我正在为项目使用Kotlin 1.0.1-2. 解决方案 您无法使用Mockito做到这一点,但我认为可以使用PowerMock来完成.假设somethingAwesomeIsDoneHere()位于File.kt中.然后,您必须模拟FileKt类,这是静态方法: mockStatic(FileKt::class.java) expect(somethingAwesomeIsDoneH
14 2024-02-19
编程技术问答社区
在多个文件上用Power Mock运行Robolectric测试时出现ClassCastException异常
因此,我基于参考指南在这里.通过单个测试课程,一切似乎都很好.但是,当执行多个junit测试时,我在第二个测试类中遇到以下错误. 您可以从下面的堆栈中看到我试图模拟奥托总线实例.它似乎在第一个测试课上正确模拟了,但是在第二堂课上,我正在获得此类铸造异常. 在stacktrace上,我会得到禁用objenisis缓存的建议. 事实是,如果我运行一个Junit测试类,我的设置效果很好,但是一旦我尝试在软件包中运行所有测试,只有第一个测试将起作用,并且随后的测试将获得类Cast cast Exception. org.mockito.exceptions.base.MockitoException: ClassCastException occurred while creating the mockito proxy : class to mock : 'com.squareup.otto.Bus', loaded by classloader
20 2024-02-19
编程技术问答社区
如何模拟最后一课?
在AndroidStudio工作.想要用PowerMock模拟Androidinstrumentaltest的最后一堂课.在Gradle中添加了libs: androidTestCompile ('org.powermock:powermock-api-mockito:1.5.6') androidTestCompile ('org.powermock:powermock-core:1.5.6') androidTestCompile ('org.powermock:powermock-module-junit4:1.5.6') androidTestCompile 'org.mockito:mockito-core:1.10.8' androidTestCompile 'com.google.dexmaker:dexmaker:1.1' androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.1' 进行
12 2024-02-18
编程技术问答社区
Android + Powermock + Mockito + Maven构建时出现ClassNotFoundException错误
我正面临着使用Maven的PowerMock和Mockito面临奇怪的构建问题.我可以完美地运行测试Wihtin Ecplise(使用Maven).但是,当我尝试使用CLI或在构建服务器上使用Maven进行测试时,我会得到以下例外: 错误测试: 测试机制:java.lang.classnotfoundexception:org.mockito.internal.progres s.threadsafemockingprogress 我的单位测试看起来像这样: import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertThat; import static org.mockito.Matchers.anyString; import static org.mock
16 2024-02-11
编程技术问答社区
PowerMock + Mockito + Maven在Android应用上显示Dex加载器错误
我正在尝试在我的单元测试中使用PowerMock(Junit 4.12). 我已经在没有任何问题的情况下集成了Mockito. 这是一个Android应用程序. 当我运行单元测试时,没有问题,静态功能的模拟效果很好. 当我单击Eclipse中的"播放"按钮以在连接的物理计算机上运行我的应用程序时,我会收到此错误: [2015-01-15 15:22:22 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/hamcrest/Description; [2015-01-15 15:22:22 - CLAP] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/hamcrest/Description; 我已经读到,这意味着PowerMock不支持Delv
12 2024-02-09
编程技术问答社区
PowerMock + Robolectric + Dagger2
我测试包含: 的自定义视图类 Android UI元素 一些逻辑 静态方法呼叫 Dagger2依赖项 所以我使用下一个工具进行测试 UI元素嘲笑的robolectric 逻辑测试的单元测试 静态方法的PowerMock模拟 robolectric + powermock集成问题是已知的,解决方案是 .com/robolectric/robolectric/wiki/lust-powermock 但是使用此解决方案dagger2依赖性失败. 注意代码. 我的自定义视图: public class ProgressTextView extends TextView { private String defaultText; private int fileSize; private String fileSizeString; private FileDownloaderI fileDownloader;
40 2024-02-06
编程技术问答社区
如何从使用PowerMockRunner运行的安卓单元测试中加载一个json文件?
我正在使用PowerMockrunner来运行我的单元测试.我想从我的资产文件夹加载一些罐头网络响应JSON文件. 我正在使用此方法尝试获取文件. private static File getFileFromPath(Object obj, String fileName) { ClassLoader classLoader = obj.getClass().getClassLoader(); URL resource = classLoader.getResource(fileName); return new File(resource.getPath()); } 我从我的班级中调用这样的方法,该方法在顶部具有这些注释. @RunWith(PowerMockRunner.class) @PrepareForTest(Network.class) File file = getFileFromPath(t
8 2024-02-05
编程技术问答社区
模拟android.os.BaseBundle,没有roboelectric。
我正在尝试对此代码进行单元测试: Bundle cidParam(String accountId) { Bundle params = new Bundle(1); params.putString(Params.CID, accountId); return params; } 这是单元测试: private void mockBundle(String cid) throws Exception { Bundle mBundle = PowerMockito.mock(Bundle.class); PowerMockito.doNothing().when((BaseBundle)mBundle).putString(AnalyticsController.Params.CID, cid); } 但是,它总是返回: java.lang.RuntimeException: Method putString in an
10 2024-02-05
编程技术问答社区
apkbuilder在添加powermock到安卓测试项目时发现重复的文件
我正在尝试将PowerMock-Mockito和Mockito添加到Android测试项目中.我使用Android命令行工具创建了Android测试项目,以创建build.xml和项目结构.我的libs/目录中有以下罐子: dexmaker-1.0.jar dexmaker-mockito-1.0.jar Mockito-All-1.9.5.jar PowerMock-Mockito-1.5-full.jar 当我尝试通过Ant调试构建项目时,我会收到以下错误: [apkbuilder] Creating ProjectTests-debug-unaligned.apk and signing it with a debug key... [apkbuilder] Found duplicate file for APK: mockito-extensions/org.mockito.plugins.MockMaker [apkbuilder] Origin 1:
10 2024-02-04
编程技术问答社区
无法在仪表测试中模拟静态方法
我很难模拟仪器(Espresso)测试的静态方法.对于模拟对象,我正在使用Mockito.但是,由于Mockito无法模拟静态方法,因此我在其顶部使用Powermock.这对于在JVM机上运行的测试效果很好,但是对于UI测试,此组合不正常.我宣布了以下仪器测试的依赖项. androidTestCompile 'org.mockito:mockito-core:1.10.19' androidTestCompile 'org.powermock:powermock-api-mockito:1.6.5' androidTestCompile 'org.powermock:powermock-module-junit4:1.6.5' androidTestCompile 'com.google.dexmaker:dexmaker:1.2' androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' androidTestC
26 2024-02-04
编程技术问答社区
运行时错误PowerMock + Mockito。ProxyFrameworkImpl无法在classpath中定位
我试图将PowerMock与Android仪表台相机一起使用 由于我的测试在Android设备上运行,因此需要将库添加到APK中. 我遇到了PowerMock+Mockito和Dex文件的大问题. 我的依赖项中只有一个运行时错误,只有PowerMock+Mockito: org.powermock.api.extension.proxyframework.ProxyFrameworkImpl could not be located in classpath. 和汇编错误,如果我包括cglib/cglib-nodep(已在答案): com.android.dex.DexException: Multiple dex files define Lnet/sf/cglib/beans/BeanCopier$BeanCopierKey 这是我的gradle的一部分: androidTestCompile 'com.android.support.test:run
36 2024-02-04
编程技术问答社区
在Android仪表测试中使用PowerMock和Mockito-错误-重复的文件-org.mockito.plugins.MockMaker
i'M试图使用PowerMock用静态方法模拟一类,但我希望在Android仪器测试中进行此操作.要明确,我希望在真实的Android设备或模拟器上进行测试. 我正在使用Android Studio(1.5.1)和Gradle(1.5.0).为了避免任何红色鲱鱼,我创建了一个非常基本且相当粗糙的" Hello World"应用程序.该应用仅显示2条文本,一个是从静态方法中检索的,一个从非静态方法中获取.我已经为这两个"文本提供商"课程写了仪器测试.您可以在这里看到此应用: https://github.com/kai2k/kai2k/powermockandroidtest.git 尝试运行仪器测试时,我会发现许多人试图实现这一目标的错误: com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate fi
12 2024-02-03
编程技术问答社区
PowerMockito。在一个模拟中出现NotAMockException
一个复杂的设置. robolectric,基于PowerMockito规则的配置. @RunWith(RobolectricGradleTestRunner.class) @Config(constants = BuildConfig.class, sdk = 21) @PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*"}) // Using "PrepareOnlyThis" prevents powermock from trying to instrument the whole hierarchy, // part of which we've ignored (android.os.* in this case) @PrepareOnlyThisForTest({ServiceCallbackBase.class}) // this class extends Handler, // so
20 2024-02-02
编程技术问答社区
Jacoco。对于报告的生成,必须使用与运行时相同的类文件。
我一直在从事一个Android项目,并使用Roboletric和PowerMock进行UNITSESTS. 当我运行gradle jacocoTestReport时,它将显示 [ant:jacocoReport] Classes in bundle 'app' do no match with execution data. For report generation the same class files must be used as at runtime. [ant:jacocoReport] Execution data for class com/my/app/MyClass does not match. 我使用powermock在myclass.java中模拟静态方法 @RunWith(RobolectricGradleTestRunner.class) @Config(constants = BuildConfig.class, sdk = 21)
48 2024-02-02
编程技术问答社区