我正在使用powermock。mockstatic这条线吹,这样我就可以控制它的返回值,因为它唯一的摆动我不必测试它。
@Before
public void setUp() throws Exception
RelatedIntelligencePanel rel = Mockito.mock(RelatedIntelligencePanel.class);
PowerMockito.mockStatic(RelatedIntelligencePanel.class);
PowerMockito.whenNew(RelatedIntelligencePanel.class).withNoArguments().thenReturn(rel);
...
.. some other unrelated code
}
...........
........ some other code and Tests
......
@Test
public class SomeClass{
RelatedIntelligencePanel relIntPanel = new RelatedIntelligencePanel();
但是它会抛出java.lang.VerifyError。我做了很多嘲笑这种事情,没有例外。删除“准备测试”和“运行”有所帮助,但是当我这样做的时候我会失去powermock。我的详细错误也在下面;
java.lang.VerifyError: Bad return type
Exception Details:
Location:
javax/swing/plaf/metal/MetalLookAndFeel.getLayoutStyle()Ljavax/swing/LayoutStyle @3: areturn
Reason:
Type 'javax/swing/plaf/metal/MetalLookAndFeel$MetalLayoutStyle' (current frame, stack[0]) is not assignable to 'javax/swing/LayoutStyle' (from method signature)
Current Frame:
bci: @3
flags: { }
locals: { 'javax/swing/plaf/metal/MetalLookAndFeel'}
stack {'javax/swing/plaf/metal/MetalLookAndFeel$MetalLayoutStyle'}
Bytecode:
0x0000000: b807 49b0
这不是你应该如何使用PowerMockito模拟静态。
请参阅此代码段(PowerMockito模拟单个静态方法和返回对象)
PowerMockito.mockStatic(ClassWithStatics.class);
when(ClassWithStatics.getString()).thenReturn("Hello!");
当您想要模拟静态方法时,不应该使用whenNew构造,这可能会导致您的错误。
Powermock、PrepareForTest和静态方法似乎有问题。
用PowerMockIgnore(“javax.swing.*)注释测试类是否有帮助?
好的,我找到了答案。使用PowerMockIgnore(“javax.swing.*)和
PowerMockito.mockStatic(ClassWithStatics.class);
when(ClassWithStatics.getString()).thenReturn("Hello!");
解决了我的问题<代码>PowerMockito。如果没有PowerMockIgnore(“javax.swing.*)则无法工作,反之亦然。@stuXnet和@staszko032都是正确的,但这些建议并不能单独起作用。注意:WhenNew也在工作,但在这种情况下不工作。
问题内容: 非常奇怪的错误。我使用的是http://developers.facebook.com/docs/authentication/。所以我创建了对fb的请求并传递redirect_uri。我在本地主机上使用测试站点。所以如果我通过 redirect_uri = http://localhost/test_blog/index.php 它工作正常,但如果我通过 redirect_uri =
错误: TypeError:无法读取未定义的LoginForm c:/reactjs/hello-world/src/components/accountbox/LoginForm.js的属性“state”:23 2023 value={this.state.input.email}^24 onchange={this.handlechange}25 class=“form-control”26
当我想要在cPanel上安装证书时,我会看到以下错误: 错误证书验证失败! 已执行/usr/bin/openssl verify-capath/var/cpanel/ssl/installed/cabundles: stdin:CN=example.com 0深度查找时错误20:无法获取本地颁发者证书
我有以下xml: 我在网上验证了xml,它的格式很好。接下来我做了架构: 当我尝试在线验证时,会出现以下错误:http://www.utilities-online.info/xsdvalidation/?save=72595340-b1e9-4061-a655-c6cfb9cdac44-XSD验证#。USIxpqw1pi点击按钮根据xsd验证xml并查看所有错误。有人知道如何毫无差错地解决这个问
状态{statuscode=network_error,resolution=null} 任何形式的帮助都将受到高度赞赏。
问题内容: 我需要验证一个Google id_token,其中一个步骤涉及检查令牌签名。 首先,我从以下网址获取证书:https : //www.googleapis.com/oauth2/v2/certs,并从证书中提取模数(n)和指数(e)并生成公钥,然后分解令牌(标题,有效负载和摘要),然后将解码后的内容与Google pKey +摘要一起发送到rsa函数。 我陷入了这个验证错误: 这是代码