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. 图像处理之图像增强项目---csdn去雾专栏1

    (一)高斯低通滤波去噪 高斯低通滤波器(Gaussian Low Pass Filter)是一类传递函数为高斯函数的线性平滑滤波器.又由于高斯函数是正态分布的密度函数.因此高斯低通滤波器对于去除服从正 ...

  2. 在OC项目中实现swift与oc混编 相互引用

    --------------------------------------------------------Begin--------------------------------------- ...

  3. ASP.NET MVC EXTJS 通用主菜单框架

    一.说明 首先我不知道定义的文章标题是不是准确,我这篇博文介绍的是一个通用的软件主菜单框架,界面布局用的是extjs,还是先上一个图吧. 软件主界面左侧菜单采用的风格是extjs的手风琴模式,需要注意 ...

  4. 九度OJ 1090:路径打印 (树、DFS)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1704 解决:314 题目描述: 给你一串路径,譬如: a\b\c a\d\e b\cst d\ 你把这些路径中蕴含的目录结构给画出来,子目 ...

  5. Redis(三)位图

    1.目录 什么是位图 位图的作用 基本使用 2.什么是位图 位图不是一个真实的数据类型,而是定义在字符串类型上的面向位的操作的集合.由于字符串类型是二进制安全的二进制大对象,并且最大长度是 512MB ...

  6. 如何设置Tomcat的JVM虚拟机内存大小

    我的是解压版的tomcat: 首先找到tomcat中bin目录下: catalina.bat 文件,打开这个文件,在 @echo off 下面一行,加上一行代码: set JAVA_OPTS=-ser ...

  7. Shell中括号的作用

    Shell中括号的作用 作者:Danbo 时间:2015-8-7 单小括号() ①.命令组.括号中的命令将会断开一个子Shell顺序执行,所以括号中的变量不能被脚本余下的部分使用.括号中多个命令之间用 ...

  8. Mall电商项目总结(二)——nginx负载均衡配置和策略

    1. nginx配置文件 用户在浏览器上输入,http://www.xwld.site/ 实际上是在访问服务器80端口,nginx 监听80端口,将用户的请求转发到8080和9080端口 . upst ...

  9. vue axios拦截器介绍

    关于axios的拦截器是一个作用非常大,非常好用的东西.分为请求拦截器和响应拦截器两种.我一般把拦截器写在main.js里. 1. 请求拦截器 请求拦截器的作用是在请求发送前进行一些操作,例如在每个请 ...

  10. 人生苦短之Python多线程

    #encoding=utf-8 import threading import time ''' python多线程并不是真正意义上的多线程,通常我们所说的多线程是多个线程同时执行某功能,而在pyth ...