程序中需要调远程获取数据时-测试用例中使用Mock造挡板数据

程序中需要调远程获取数据时-测试用例中使用Mock造挡板数据

示例:

1、加依赖

<!-- Mock依赖。 -->
		<dependency>
			<groupId>org.jmockit</groupId>
			<artifactId>jmockit</artifactId>
			<version>1.47</version>
			<scope>test</scope>
		</dependency>

2、在工程编译启动pom中配Junit插件设置javaagent:jar包在添加依赖后写本地仓库的jar包路径即可。

……
<skiptTest>false</skiptTest>
……


<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
				</plugin>
				<!-- Junit插件配置。Mock用。-->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.16</version>
					<configuration>
						<skipTests>${skiptTest}</skipTests>
						<argLine>-javaagent:D:\maven\repository\org\jmockit\jmockit\1.47\jmockit-1.47.jar</argLine>
						<testFailureIgnore>true</testFailureIgnore>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

3、被测试程序

/**
 * @author wxming.
 * @date 2020-6-3.
 */
@Service
public class UseConfigUtils {

    //@Resource
    private ConfigUtils configUtils = new ConfigUtils();

    public String useConfig(){
        String oneConfig = configUtils.getConfig("一个配置");
        return oneConfig;
    }
}
/**
 * @Description TODO
 * @author wxming.
 * @date 2020-6-3.
 */
@Component
public class ConfigUtils {

    public String getConfig(String name){
        System.out.println("走远程获取了");
        return "从远程获取的值";
    }

}

4、测试用例

package my.mark.mybaibaoxiang.mock;

import mockit.Mock;
import mockit.MockUp;
import org.junit.Test;

/**
 * @author wxming.
 * @Description TODO 使用Mock数据测试。
 * @date 2020-6-3.
 */
public class MockTest {

    UseConfigUtils useConfigUtils = new UseConfigUtils();
    @Test
    public void mockOne(){
        //在要调用需要mock的数据之前,new一个Mock数据出来。
        new MockUp<ConfigUtils>(){
            @Mock
            public String getConfig(String name){
                System.out.println("走mock了");
                return "Mock数据的配置";
            }
        };
        String one = useConfigUtils.useConfig();
        System.out.println(one);
    }
}

5、测试结果

注掉Mock代码没有mock的:

用mock的:

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值