`
ginge
  • 浏览: 212134 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jmockit 的使用系列

 
阅读更多

目标测试代码

WinportUrlService

package jmockit.target;

public interface WinportUrlService {
	boolean hasWinport(String memberId);

	String getWinportUrlThrowException(String memberId);
}

 

WinportBaseService

package jmockit.target;

public class WinportBaseService {
	public long getPostedOfferCounts(String memberId) {
		return 1000;
	}
}

 

WinportUrlServiceImpl

package jmockit.target;

public class WinportUrlServiceImpl extends WinportBaseService implements
		WinportUrlService {
	public boolean hasWinport(String memberId) {
		return true;
	}

	public String getWinportUrlThrowException(String memberId) {
		throw new RuntimeException();
	}
}

 

OfferPostAction

package jmockit.target;

public class OfferPostAction {

	private WinportUrlServiceImpl winportUrlService = new WinportUrlServiceImpl();

	public boolean hasWinport(String memberId) {
		return winportUrlService.hasWinport(memberId);
	}
	
	public String getWinportUrlThrowException(String memberId){
		return winportUrlService.getWinportUrlThrowException(memberId);
	}
	
	public long getPostedOfferCounts(String memberId){
		return winportUrlService.getPostedOfferCounts(memberId);
	}
}

 

 

附件为源代码。

分享到:
评论

相关推荐

    jmockit

    JMockit使用Java代理(Java代理API)和字节码操作(ASM库)来在运行时修改类的行为。通过在测试运行期间动态插入模拟代码,它能够替换实际的依赖项,从而允许测试代码独立于外部系统或不可控因素。 3. **主要特性*...

    jmockit jmockit jmockit jmockit

    5. **动态代理(Dynamic Proxy)**:JMockit使用Java的动态代理技术来实现模拟和验证,这使得它可以模拟静态方法和final类,这是许多其他模拟框架无法做到的。 6. **兼容性**:JMockit与JUnit、TestNG等流行的测试...

    jmockit使用例子

    这个“jmockit使用例子”很可能会涵盖如何利用JMockit进行测试的基本步骤,以及如何改变静态方法的模拟实现。 在Java开发中,单元测试是确保代码质量的重要环节。然而,当涉及到依赖于外部系统、静态方法或不可控...

    JMockit教程.pdf

    正如其名,在单元测试时,CUT(Code Under Test ,被测试代码)可能会依赖其他代码,可以使用JMockit API来mock被依赖的代码,从而进行隔离测试。 JMockit有两套API,mock API用来进行mock测试;mock-up API用来...

    jmockit-1.6.zip

    6. **兼容性与易用性**:JMockit 1.6很好地兼容了JUnit 4和JUnit 5,使得已经习惯于使用JUnit的开发者无需改变测试框架,就能享受到JMockit的强大功能。其API简洁明了,易于理解和使用。 在实际应用中,我们可以...

    jmockit框架所使用jar包

    jmockit框架所使用jar包,在写单元测试的过程中我们会发现需要测试的类有很多依赖,这些依赖的类或者资源又会有依赖,导致在单元测试代码里无法完成构建,我们应对的方法是Mock。简单的说就是模拟这些需要构建的类...

    jmockit官网文档整理

    在"Mocking.mht"和"Faking(伪实现).mht"这两个文件中,详细地讲解了上述各个知识点的使用方法和示例,通过阅读这些文档,开发者可以深入理解并熟练掌握JMockit的使用技巧,提升单元测试的效率和质量。

    2020-11-15 JMockit中文网在github上的示例代码|jmockit_cn.zip

    - **动态代理**:JMockit使用Java的动态代理机制来实现模拟,无需修改被测试代码。 - **模拟静态方法**:对于难以测试的静态方法,JMockit可以提供解决方案。 - **模拟构造器**:Jockit可以模拟类的构造器,控制...

    jmockit总结

    在 JMockit 中,你可以使用 `@Mocked`、`@NonStrict` 和 `@Injectable` 等注解来指定要模拟的依赖。`@Mocked` 默认模拟所有方法,包括私有、静态、最终和原生方法。如果模拟的是类,其父类也会被递归模拟,除非是 `...

    jmockit-例子和jar.rar

    本文将深入探讨JMockit的基本概念、使用方法以及它如何帮助提升测试效率。 一、JMockit简介 JMockit是一款开源的Java测试框架,它允许开发者在测试中模拟任何Java类或接口的行为。这个工具的核心特性在于其模拟...

    jmockit中文教程

    综上所述,JMockit是一款功能强大且易于使用的测试框架,它不仅能够帮助开发者创建高效的单元测试,还能支持更为复杂的集成测试场景。通过对模拟和伪装技术的灵活运用,以及对代码覆盖率的精细控制,JMockit成为了...

    jmockit-coverage

    使用JMockit Coverage非常简单,只需在项目中引入`jmockit-coverage-0.999.4.jar`库,并在测试运行时指定相应的覆盖率参数。例如,在Maven项目中,可以在`pom.xml`中添加插件配置,或者在命令行运行测试时添加系统...

    JMockit基础教程

    5. **Mock本地方法(Native)**:虽然Java的本地方法(使用`native`关键字定义)通常不用于单元测试,但JMockit也支持对其进行模拟。 在录制期望时,你可以指定方法的参数、返回值以及期望的调用次数。例如,你可以...

    jmockit-1.7.jar

    jmockit-1.7.jar JMockit最新工具包

    jmockit\jmockit-0.999.2.jar

    jmockit-0.999.2.jar

    JMockit教程.zip

    JMockit教程.pdf这个文档,很可能是对JMockit的全面介绍和使用指南,涵盖了从基本概念到高级特性的方方面面。在这个教程中,你可能会学习到以下关键知识点: 1. **模拟(Mocking)与插入(Stubbing)**:JMockit的...

    jmockit-1.2

    JMockit是一款广泛使用的Java单元测试框架,尤其在模拟和mocking对象方面表现卓越。它提供了简洁、灵活且高效的API,使得开发者能够在测试代码中轻松地模拟任何Java类或接口的行为。在1.2这个版本中,JMockit继续...

    Jmockit用法示例

    这个项目包括了对不同类型的模拟方法的测试用例,有助于理解Jmockit的工作原理和使用方式。 通过熟练掌握Jmockit,你可以编写出更加健壮和可维护的单元测试,确保代码的质量和稳定性。在实际项目中,Jmockit可以...

    JMockit学习分享

    通过一系列具体示例和概念解析,帮助读者全面掌握JMockit的核心功能及其实现细节。 #### 二、什么是Mock? 在软件开发领域,“mock”是指用于替代实际对象的模拟对象,以帮助完成单元测试。其目的是模拟依赖项的...

    jmockit测试例子

    Mockup always comes to us when we try to ... Now, jmockit comes to us. "Tests can easily be written that will mock final classes, static methods, constructors, and so on. There are no limitations.

Global site tag (gtag.js) - Google Analytics