栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用参数模拟构造函数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用参数模拟构造函数

您发布的代码适用于最新版本的Mockito和Powermockito。也许您还没有准备A?试试这个:

A.java

public class A {     private final String test;    public A(String test) {        this.test = test;    }    public String check() {        return "checked " + this.test;    }}

MockA.java

import static org.hamcrest.MatcherAssert.assertThat;import static org.hamcrest.Matchers.equalTo;import static org.mockito.Mockito.mock;import static org.mockito.Mockito.when;import org.junit.Test;import org.junit.runner.RunWith;import org.mockito.Mockito;import org.powermock.api.mockito.PowerMockito;import org.powermock.core.classloader.annotations.PrepareForTest;import org.powermock.modules.junit4.PowerMockRunner;@RunWith(PowerMockRunner.class)@PrepareForTest(A.class)public class MockA {    @Test    public void test_not_mocked() throws Throwable {        assertThat(new A("random string").check(), equalTo("checked random string"));    }    @Test    public void test_mocked() throws Throwable {         A a = mock(A.class);          when(a.check()).thenReturn("test");         PowerMockito.whenNew(A.class).withArguments(Mockito.anyString()).thenReturn(a);         assertThat(new A("random string").check(), equalTo("test"));    }}

两项测试均应通过Mockito 1.9.0,powermockito 1.4.12和junit 4.8.2通过



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495560.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号