`
ryhome
  • 浏览: 44535 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

jMock使用注意

    博客分类:
  • Java
TDD 
阅读更多

1. 测试类如果继承org.jmock.MockObjectTestCase,mock出来的类只能模仿Interface,要模仿具体类需要使用org.jmock.cglib.MockObjectTestCase(需要引用cglib-nodep-2.x.jar);

 

2.静态方法不能模拟,有必要时需要重构代码,这也是TDD代码可测性的要求;

 

3.方法参数如果是数值类型(int等),with()方法不能用isA(int.class)做判断,要么用with(eq(value)),要么使用withAnyArguments()方法;

 

4.jMock2.x一个Mockery实例可以mock多个类,所以一个Testcase只要初始化一个Mockery实例;

 

5.jMock2.x中mock设定的期望调用顺序是:先设定的先调用这个和1.x中相反。如果setUp()中写某一方法的模拟,想在每个testcase中改变使用其他的模拟需要这么写

setUp()
{
    Mockery cntext = new Mockery();
    States sta =context.states("随便名字").startAs("初始化状态名");//1
    context.checking(new Exceptations()
    {
        {
             ignoring(obj).do();when(sta.is("初始化状态名"));//2
             when(sta.isNot("test中状态"));//3
        }
    });
}

test()
{
    sta.is("test中状态").active();//4
    context.checking(new Exceptations(){});
}

 代码解释:

语句1,在setUp()中先设定一个状态;

语句2,写期待时语法为当状态是“初始化”则调用ignoring()方法

语句3,当状态不是“test中状态”则调用ignoring()方法

语句4,在test()中改变状态,激活ignoring(),使得setUp()设置的模拟不生效。之后就可以写新的模拟了。

0
1
分享到:
评论

相关推荐

    JMOCK使用文档

    这个是几篇关于如何使用JMOCK对java代码测试,如果实在不清楚,也可咨询 445054051

    JMOCK 2.6.0-RC2

    jMock 2: Java 5 and above. Stable: 2.5.1 Binary JARs (includes the source to let IDEs provide context-sensitive help) Javadocs Unstable: 2.6.0-RC2 Binary JARs (includes the source to ...可以直接使用

    jmock2.5.1.zip

    jmock2.5.1.zip

    jmock-2.5.1-javadoc

    jmock可以模拟对象,常用于单元测试,与junit配合使用 jmock-2.5.1-javadoc

    jMock基本使用方法

    详细介绍了Jmock的使用方法。如何编写自己的单元测试代码。

    Jmock2.6 jar包

    Jmock2.6 jar包

    Jmock Mock 没有接口的类

    Jmock Mock 没有接口的类 很方便使用

    jmock-1.2.0.jar

    Maven-Central / jmock / jmock-cglib 1.2.0 Maven-Central / org.apache.activemq / activemq-ra 5.2.05.1.0 Maven-Central / org.apache.maven.shared / maven-dependency-tree 1.21.1 Maven-Central / org.apache...

    jmock-2.6.0-jars

    jmock jar和源码

    JMOCK 帮助 网页 文档

    JMOCK 帮助 网页 文档 在网上找的一些bolg里的文档 JMOCK 帮助 网页 文档 在网上找的一些bolg里的文档

    jmock2.5.1和easymock3.0

    JMock2.5.1和EasyMock3.0以及一些JUnit单元测试所需的jar,让你使用JMock和EasyMock时不用到处找相关的jar。

    Jmock学习手册

    Jmock学习手册,让你更快学习Jmock。。

    jmock-1.0.1.jar

    jmock-1.0.1.jar jmock-1.0.1.jar

    jmock2.5.1

    JMock is a library that supports test-driven development1 of Java2 code with mock objects3. Mock objects help you design and test the interactions between the objects in your programs.

    JMOCK final class mock

    JMOCK final class mockJMOCK final class mockJMOCK final class mockJMOCK final class mockJMOCK final class mock

    JMock

    NULL 博文链接:https://tristan-s.iteye.com/blog/1750265

    jmock-1.2.0-jars.rar

    jmock-1.2.0-jars.rar

    jmock学习文档

    jmock学习文档,模拟对象技术,jMock 可以和既有的其他测试框架,如JUnit,很好地整合在一起,共同使用。

    jmock2.5基本教程—终结版.doc

    jmock2.5基本教程目录第0章 概述第1章 jmock初体验第2章 期望第3章 返回值第4章 参数匹配第5章 指定方法调用次数第6章 指定执行序列第7章 状态机第0章 概述

    jmock-2.5.1-jars.zip

    jMock利用mock objects思想来对Java code进行测试。jMock具有以下特点:容易扩展,让你快速简单地定义mock objects,因此不必打破程序间的关联,让你定义灵活的超越对象之间交互作用而带来测试局限,减少你测试地脆弱...

Global site tag (gtag.js) - Google Analytics