powermock相关内容
PowerMockito中的注释@PrepareForTest到底是什么意思? 在具有静态方法的类之外,应该放在哪里? 解决方案 该注释告诉PowerMock(ito)列出的类将需要在字节码级别上进行操作. 您需要“准备测试"所有您要测试的X类 模拟一个静态方法(在X上) 控制对使用的 new() 的调用在另一个班级X 控制私有方法(您可以使用间谍和 PowerMo
..
我将EclEmma与Eclipse结合使用,以帮助我知道项目中缺少哪些代码测试,但是所有未调用@RunWith(PowerMockRunner.class)的测试均未调用,因此未进行测试. 我在Mockito中使用JUnit 4.8.1. 那会是什么? 解决方案 已为双方报告了一个已知的错误: http://code.google.com/p/powermock/问题/详
..
我想将Powermock与Mockito结合使用来模拟一些静态方法调用.我遵循了SO以及PowerMock 入门和当我从测试类中调用mockStatic(foo.class)时,我得到了一个提示: java.lang.NoClassDefFoundError: org/Mockito/mock/MockName at org.powermock.api.mockito.PowerMockit
..
在JUnit中进行测试时,有什么方法可以模拟静态util方法? 我知道Powermock可以模拟静态调用,但是我不想使用Powermock. 还有其他选择吗? 解决方案 (我假设您可以使用Mockito)我没想到什么,但在类似情况下,我倾向于使用以下策略: 1):在被测类中,将静态直接调用替换为对包装了静态调用本身的包级方法的调用: public class ToBeT
..
我有一个要测试的方法(方法1),该方法根据提供的参数创建对象并调用另一个方法(方法2).所以我在嘲笑method2,它接受一个对象(sampleObj). public void method1(booleanParam) { if(booleanParam){ List fooList = new ArrayList;
..
我想避免为类嘲笑getClass()方法,但似乎找不到任何解决方法.我正在尝试测试一个将对象类类型存储在HashMap中的类,以供以后使用的特定方法.一个简单的例子是: public class ClassToTest { /** Map that will be populated with objects during constructor */ private Map
..
我想模拟一个具有uuid值的对象,但是我不想安装powermock. 解决方案 您最简单的方法是包装UUID生成. 假设您有一个使用UUID.randomUUID 的类 public Clazz MyClazz{ public void doSomething(){ UUID uuid = UUID.randomUUID(); } } UUID源代码完全与JDK实
..
作为重复项提出的解决方案不是PowerMockito解决方案,因此不能回答此问题.此外,此问题在下面得到了合理的回答. IDK(如果这是重复项还是不是重复项),但是我确定找不到有关的项目.我一直期望这真的很简单,因为通过反射它非常简单,但是我宁愿使用正确的工具来完成它. 说明:旧版代码.没有吸气剂/二传手. 为此使用Whitebox是否正确?我认为这是“超限",即内部API的一部
..
我有相同的班级 class MyCalss{ final static SomeClass field = new SomeClass(); ... } 我应该模拟MyCalss的实例.该模拟应该包含像真实对象这样的字段. 我该如何实现? 解决方案 您可以使用允许对JMockit或Powermock等构造函数进行模拟调用的框架. Powermoc
..
我要测试的类中有一些私有的static final字段.像这样 public class ClassToTest{ .... private static final Myclass myclass = MyClassFactory.getMyClass(type.firstType); .... } 类型是MyClassFactory中的一个枚举.该工厂要做的是
..
我正在尝试在jenkins的sonarqube仪表板上获取代码覆盖率报告.即将发布代码覆盖率报告,但仅显示4.6%的覆盖率.经过调查,我发现使用PowerMocks编写的测试类已被跳过. 在进一步的调查中,我发现"JaCoCo在动态修改/创建的类上不能很好地发挥作用(这是powermock的工作方式.这是已知的限制,我们目前无法对此进行任何处理." 是否有任何解决方法,以便我也可以获得
..
所以我敢肯定那里有类似的东西,但是我已经搜索了一个小时,还没有找到我想要的东西.说我有一堂课,像这样: public class MyClass { public void myMethod(boolean shouldCallOtherMethod) { if(shouldCallOtherMethod) { othe
..
我想在同一JUnit 4测试中同时使用Arquillian和PowerMock的功能. 问题是两个产品都是JUnit Runner,应与@RunWith一起使用,并且不可能在同一测试类上使用多个@RunWith或将多个Runner放在同一个类中在同一@RunWith注释中. 你知道有什么办法吗? 解决方案 如果使用 TestRule ).在PowerMockRule中:
..
我正在使用: junit junit 4.10 test
..
我们在少数历史项目中使用了PowerMock.不幸的是,PowerMock 已死,并且与Java 11不兼容. 我们正在使用mockStatic().是的,我们知道它被认为是有害的-它在旧代码中,并且我们不希望现在不重写那些类... 是否有任何选项可以调整PowerMock以支持Java 11?还是可以轻松地用其他兼容Java 11的框架替换它? (Mockito不支持模拟静态)
..
我尝试一起设置junit,mokito和powermock,但是当我运行测试时,我得到ClassNotFoundException:( testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-core:2.7.22' androidTestCompile 'org.mockito:mockito-core:2.7.22'
..
我最近意识到 powermock的白盒功能. (总而言之,它允许您直接测试私有方法或直接从单元测试中修改私有成员,同时保持私有性!) 我知道在单元测试中除了可见方法以外的其他东西都有些想法,但是令人讨厌,有时您只需要一个简单的测试来确保深层次的辅助方法能够完成应有的工作. ..无需花费巨大的开销来准备父方法过滤到您的方法所需的参数和模拟..然后,您必须做些魔术才能提取该内部方法的结果.简而言
..
我很难找到一种设置类的静态字段的方法.基本上是这样的: public class Foo{ // ... private static B b = null; } 其中B是另一个类. 除了使用setInternalStateFromContext()以外,PowerMock中还有其他方法可以执行此操作吗?使用上下文类方法似乎对设置一个字段有些过大. 谢谢.
..
我想使用JUnit,EasyMock或PowerMock模拟静态最终变量以及模拟i18n类.我该怎么办? 解决方案 是否有类似 mocking 的变量?我将其称为重新分配.我认为EasyMock或PowerMock不会为您提供一种简单的方法来重新分配static final字段(听起来像是一个奇怪的用例). 如果您想这样做,可能是您的设计有问题:避免使用static final(或更
..
我要模拟以下Logger,但要验证是否调用了日志条目,而不是内容. private static Logger logger = LoggerFactory.getLogger(GoodbyeController.class); 我想模拟用于LoggerFactory.getLogger()的任何类,但是我不知道如何做到这一点. 到目前为止,这是我最终得到的: @
..