Fixture 代码

package eg;
import org.joda.time.DateTime; public class JodaTime { int year; public String getCurrentTime() {
DateTime dateTime = new DateTime();
return String.valueOf(dateTime);
} public int getYear(){
DateTime dateTime = new DateTime();
year = dateTime.getYear();
return year;
} public String getStringYear(){
DateTime dateTime = new DateTime();
return String.valueOf(dateTime.getYear());
} public String getYearAndMonth(String string){
DateTime dateTime = new DateTime();
return String.valueOf(dateTime.getYear()) + String.valueOf(dateTime.getDayOfMonth() + string);
}
}

table 代码:

!***< Hidden
!*< Classpath setup
!define TEST_SYSTEM {slim}
!path lib/*.jar
*! '''此处导入后台代码包名'''
!|import |
|eg |
|fitnesse.fixtures| *! '''测试脚本'''
!| script|joda time |
|check |get current time||
|check|get year||
|$v=|get year|
|$s=|get string year|
|check | get year and month | 567| |
|check | get year and month | $s| |

table view and result:

-------------------------------------------------------------------------------------------

准备工作:

(一)导入第三方jar包,这里使用到joda-time-2.3.jar

1. 先将joda-time-2.3.jar放入到.\fitnesse-master\lib下面

2. 在Eclipse中按照下图编辑Build Path

3. 修改FitNesse项目中build.xml文件,如下黄色底部分内容。

....
<target name="compile-server" depends="stamp-version, resolve" description="compile FitNesse sources">
<mkdir dir="${classes.dir}" />
<ivy:cachepath pathid="compile.classpath" conf="default"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" source="${min.java.version}" target="${min.java.version}" includeantruntime="false" encoding="UTF-8">
<classpath>
<pathelement path = "{lib.dir}/joda-time-2.3.jar"/>
<path refid="compile.classpath"/>
</classpath>
</javac>
<copy todir="${classes.dir}">
<fileset dir="${src.dir}">
<include name="fitnesse/resources/**" />
<include name="**/*.properties" />
</fileset>
</copy>
</target>
....
<target name="retrieve" depends="resolve" description="Copy dependencies to lib/, mainly for Acceptance tests and IDE's">
<!--<delete dir="${lib.dir}" />-->
<ivy:retrieve pattern="${lib.dir}/[artifact].[ext]" conf="standalone,default,test" />
</target>
....

4. 在Fitnesse项目的eg下新建JodaTime类,代码就是上面的Fixture代码

5. 打开命令行,进入Fitnesse主目录,输入ant run,进行编译启动

6. 在FitNesse中新建一个testpage,点击Edit按钮,输入下图内容(可以直接复制上面table代码)

7.点击Save后,点击Test按钮,开始测试。

Fitnesse的一个简单实例的更多相关文章

  1. C++ 容器的综合应用的一个简单实例——文本查询程序

    C++ 容器的综合应用的一个简单实例——文本查询程序 [0. 需求] 最近在粗略学习<C++ Primer 4th>的容器内容,关联容器的章节末尾有个很不错的实例.通过实现一个简单的文本查 ...

  2. Ajax实现局部数据交互的一个简单实例

    想要实现的功能:利用Ajax技术通过点击一个<button>按钮,然后在指定的文本框中输出想要的值. 1.使用Jsp创建一个前端页面. <body> <div style ...

  3. SpringMVC4+thymeleaf3的一个简单实例(篇一:基本环境)

    首语:用SpringMVC和thymeleaf实现一个简单的应用,包括基本环境搭建,SpringMVC4和thymeleaf3的整合,页面参数的获取,页面参数验证,以及用MySQL保存数据.我会把步骤 ...

  4. MVC的一个简单实例

    基本思路: 一个Regist.jsp注册页面,用于收集用户信息,发送请求给控制器Servlet:控制器层Servlet封装模型层对象 jBean,并调用其方法regiser实现用户信息的保存:模型层J ...

  5. Win32 API 多线程编程——一个简单实例(含消息参数传递)

    Win32 API进行程序设计具有很多优点:应用程序执行代码小,运行效率高,但是他要求程序员编写的代码较多,且需要管理所有系统提供给程序的资源,要求程序员对Windows系统内核有一定的了解,会占用程 ...

  6. SpringMVC4+thymeleaf3的一个简单实例(篇五:页面和MySql的数据交互-展示以及存储)

    这一篇将介绍怎样把页面数据保存的MySQL数据库,并将数据库内容展示到页面上.首先做一个基础工作,添加以下jar到lib:1: mysql-connector-Java-5.1.40-bin.jar ...

  7. SpringMVC4+thymeleaf3的一个简单实例(篇四:form表单数据验证)

    关于表单数据验证有很多中方法,这里我仅介绍JSR303注解验证.JSR303仅仅是一个规范,这里我们要用到它的一个实现:hibernate-validator. 注意在spring的配置文件sprin ...

  8. SpringMVC4+thymeleaf3的一个简单实例(篇三:页面参数获取)

    本篇将通过示例介绍页面参数是如何传递到后台的.我们继续沿用之前搭好的程序结构,如果你不知道,请参照前两篇.为方便跳转页面,我们在首页以及zoolist.html页面都加上彼此地址的链接:首页: zoo ...

  9. JNI的一个简单实例

    本例子使用的操作系统MacOS, 64位JVM. JNI编写的几个步骤如下: 编写Java代码,并注明native方法: public class HelloJni { public native v ...

随机推荐

  1. jquery 效果网址分享

     http://www.lanrentuku.com/js/ http://www.baidu.com/link?url=2nuImAliKGCKyDeJ7ln2DR_2if5uKgr-em6a3dx ...

  2. unsigned double

    最近犯了一个错误: 定义变量类型的时候竟然定义了unsigned double的类型.由于编译能够通过,因此一直没有发现这样写会有什么样的问题. 今天一次偶然的测试中发现这些变量的值都是整数.一开始觉 ...

  3. php 实现简单加入购物车

    今天在练习购物车以及提交订单,写的有点头晕,顺便也整理一下,这个购物车相对来说比较简单,用于短暂存储,并没有存储到数据库, 购物车对于爱网购的人来说简直是熟悉的不能再熟悉了,在写购物车之前,我们首先要 ...

  4. AAC包增加ADTS头Without MediaCodec

    AAC原始码流无法直接播放,一般需要封装为ADTS格式才能再次使用,本博主在android中用MediaCodec编码得到的AAC就是raw格式,为了保存为.aac格式,需要增加adts头,这样就可以 ...

  5. LeastRecentlyUsed

    LeastRecentlyUsed Operating Systems http://www.cs.jhu.edu/~yairamir/cs418/os6/sld001.htm Cache repla ...

  6. root无权限删除 原因 进程 占用 文件

    [root@test opt]# find / | grep gitlab | xargs rm -rfrm: cannot remove ‘/sys/fs/cgroup/devices/system ...

  7. 看不懂JDK8的流操作?5分钟带你入门(转)

    在JDK1.8里有两个非常高级的新操作,它们分别是:Lambda 表达式和 Stream 流. Lambda表达式 让我们先说说 Lambda 表达式吧,这个表达式最大的作用就是简化语法,让代码更加易 ...

  8. Qtree3

    题目描述 给出N个点的一棵树(N-1条边),节点有白有黑,初始全为白 有两种操作: 0 i : 改变某点的颜色(原来是黑的变白,原来是白的变黑) 1 v : 询问1到v的路径上的第一个黑点,若无,输出 ...

  9. 相机标定过程(opencv) + matlab参数导入opencv + matlab标定和矫正

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 辛苦原创所得,转载请注明出处 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  10. 动态区间第K大

    整体二分. 主要需要注意的一点是,对于每个删除操作,若删除操作被算入贡献,则最开始的插入操作也一定会被算入,所以不必担心删除删错. #include<cstdio> #include< ...