fitnesse初学
来源:互联网 发布:用户角色模型 java 编辑:程序博客网 时间:2024/06/02 21:25
13:57
老大问我,你用过fitnesse么,我以前听都没听过这个工具。
然后去网上搜,好像资料也不是特别多。老大也是从书上看到的这个工具。
然后找了几个文档,下载了jar包,运行起来了。
java-jar fitnesse-standalone.jar -p 8888
然后打开浏览器:
输入
http://localhost:8888/
页面起来了,不知道怎么用,网上也没有现成的资料。
然后看到如下的例子
点击左侧工具栏的Test按钮。FitNesse将运行表格中的测试数据,并返回测试结果,应该看到表格中 100/4 的计算错误.
如果左侧工具栏中没有Edit按钮,就点击Properties按钮,在出现的页面中选中Actions中的Edit项,再点Save Properties按钮。这样左侧工具栏中就应该有Edit按钮了。
点击Edit按钮,将出现Edit Page,找到 100/4那行,把结果24改为25,点击最低下的Save按钮。
再点Test,就可以看到全部测试通过了。
你可能想知道表格中的数据是如何测试的,表头的eg.Division是指eg包下的Division类,这个类可以在FitNesse安装目录下的fitnesse.jar中找到,源码如下
java 代码
- package eg;
- import fit.ColumnFixture;
- public class Division extends ColumnFixture
- {
- public double numerator;
- public double denominator;
- public double quotient() {
- return numerator/denominator;
- }
- }
可以看到对应表格中的第2行表头,类中有numerator, denominator, quotient(), 有点明白了吧。
下面新建一个测试页
Edit刚才的A Two-Minute Example
在内容的最下面,添加文字MyNewPage,然后点击Save
在新页面的最后,将出现刚才添加的MyNewPage字样,并在其后紧跟一个 ? 号,点击 ? 号。
将出现MyNewPage的编辑页面,继续使用eg.Division,添加如下内容
My New Test
|eg.Division|
|numerator|denominator|quotient?|
|10 |2 |5 |
|30 |5 |6 |
点击Save按钮,将看到新的MyNewPage,再点Test按钮(如果没有Test按钮就点击Properties来添加),将看到新的测试结果。
源文档 <http://wangcheng.iteye.com/blog/102137>
因为这个例子是系统自带的,不需要写代码,于是我新建了个页面
点击Edit, 在最后一行加入MyNewPage,然后保存。去主页
就有个MyNewPage,点击问号,就进页面了。
然后加上:
!contents-R2 -g -p -f -h
MyNew Test
|eg.Division|
|numerator|denominator|quotient?|
|10 |2 |5 |
|30 |5 |6 |
|30 |5 |4 |
然后去让,发现没有test按钮,然后在Tools/properties中加入Test.保存后test按钮就出来了,
点击test,就测试通过了。好了,终于知道怎么跑的了。
然后看到了个例子
- package fitnesse.slim.test;
- import java.util.List;
- public class ShouldIBuyMilk {
- private int dollars;
- private int pints;
- private boolean creditCard;
- public void setCaseInWallet(int dollars) {
- this.dollars = dollars;
- }
- public void setPintsOfMilkRemaining(int pints) {
- this.pints = pints;
- }
- public void setCreditCard(String valid) {
- if (valid == "yes")
- creditCard = true;
- else
- creditCard = false;
- }
- public String goToStore() {
- if (pints == 0 && (dollars > 2 || creditCard))
- return "yes";
- else
- return "no";
- }
- public void execute() {
- }
- public void reset() {
- }
- public void table(List<List<String>> table) {
- }
- }
编写好程序后,我们可以返回之前的fitnesse页面了,找到FirstTest页面,点击edit,在页面中添加下面一段内容:
!defineTEST_SYSTEM {slim}
!pathD:/fitnesse/fitnesse-standalone.jar
!pathD:/workspace-sts/test/bin/fitnesse/slim/test
!|import |
|fitnesse.slim.test |
!|fitnesse.slim.test.ShouldIBuyMilk |
|cash inwallet|credit card|pints of milk remaining|go to store?|
|10 |no |1 |no|
|12 |yes |1 |no|
|100 |no |0 |yes|
解释下:
第一行:使用FitNesse的slim模块,也就是使用网页的形式描述测试用例
第二行:jar包所在的路径(这里要说明下,我看到网上很多例子是没有这一行的,但是我使用的时候发现,没有这一行会报错:java.lang.NoClassDefFoundError:fitnesse/slim/SlimService,可能是路径的问题吧,我是把fitnesse和我java程序所在的地方分开放的)
第三行:测试类**.class所在的路径
第六行:测试类的名称,fitnesse.slim.test package下的ShouldIBuyMilk这个类
表头:cash in wallet, credit card,pints ofmilk remaining对应类中的setNumerator(),setCreditCard(),setPintsOfMilkRemaining()这三个方法,goto store对应String goToStore()()这个方法,注意go to store后面有个问号,说明这个方法是有返回值的。
点击save按钮,返回该页面,点击test,可以看到测试页面。
源文档 <http://blog.csdn.net/funi16/article/details/8985280>
然后在本地新建一个java文件,把代码拷进去,相对应的路径改下,然后保存。
运行结果通过了。
<testpage>
!defineTEST_SYSTEM {slim}
!pathC:/Users/Lenovo/Downloads/fitnesse-standalone.jar
!pathD:/eclipsecode/Fitnesse/src/fitnesse/slim/test
!|import |
|fitnesse.slim.test |
!|fitnesse.slim.test.ShouldIBuyMilk |
|cashin wallet|credit card|pints of milk remaining|go to store?|
|10 |no |1 |no|
|12 |yes |1 |no|
|100 |no |0 |yes|
然后晚上回家的时候,翻墙搜到了老外用fit调用webdriver,还看到福建一家伙用jekins集成fit.
然后跟老大说,老大说我们用不到。
等我有空,也来研究一下巴。
- fitnesse初学
- Fitnesse 安装
- Fitnesse使用
- Fitnesse测试
- fitnesse使用
- fitnesse 新手入门
- wiki应用 3:fitnesse
- FitNesse安装与编译
- FIT AND FITNESSE(1)
- FIT AND FITNESSE(2)
- 测试管理工具FitNesse
- FIT AND FITNESSE(1)
- FIT AND FITNESSE(2)
- FitNesse.Tutorials-入门
- FIT和FitNesse使用方法
- fitnesse使用一
- fitnesse使用二
- fitnesse用户授权
- 如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧(二)
- c++中的explicit关键字
- html链接代码分析
- 大话设计模式笔记——策略模式(C++超市收银实现)
- Apache + Tomcat 配置多个应用
- fitnesse初学
- 如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧(一)
- easyui机构树 满足选中节点需求
- 用GDB调试程序
- 男人就是累
- Dotnetnuke:EditURL与NavigateURL
- Linux Server流媒体配置过程
- 14.1动物这样叫(一)
- hello world