前面简要讲了关于FIT的用法(参看http://fit.c2.com .

首先介绍ColumnFixture:

Coulmn映射测试数据的列到子类的方法或变量.

一个新的Column fixture为每个使用它的表创建,同样的Column fixture会从上到下处理每行,从左到右处理每列.CalculatorExample 这个例子就是这样.x()因数时第一个方法列,不管Key如何改变,都可以得到检查

你可以参看一下资源:

还是举个例子详细解释一下吧.
 拿个算术的例子.这个算术包括加减乘除.
 我们可以写测试案例为(以表的形式):

eg.ArithmeticColumnFixture
x y plus() times() divide() floating()
2 3 5 6 0 0.6666667
0 0 0 0 error error
0 0 0 0
200 300 500 60000 0 0.6666667
2 3 10 10 10
200 3 5 6 0 0.6666667
2 -3 -1 -6 -0 -0.6666667

然后写出加载FIT框架的代码:

 1FIT FOR .NET(3)// Copyright (c) 2002 Cunningham & Cunningham, Inc.
 2FIT FOR .NET(3)// Released under the terms of the GNU General Public License version 2 or later.
 3FIT FOR .NET(3)
 4FIT FOR .NET(3)using System;
 5FIT FOR .NET(3)using fit;
 6FIT FOR .NET(3)
 7FIT FOR .NET(3)namespace eg
 8{
 9FIT FOR .NET(3)    public class ArithmeticColumnFixture : ColumnFixture 
10{
11FIT FOR .NET(3)
12FIT FOR .NET(3)        public int x;
13FIT FOR .NET(3)        public int y;
14FIT FOR .NET(3)
15FIT FOR .NET(3)        public int plus() 
16{
17FIT FOR .NET(3)            return x + y;
18FIT FOR .NET(3)        }
19FIT FOR .NET(3)
20FIT FOR .NET(3)        public int minus() 
21{
22FIT FOR .NET(3)            return x - y;
23FIT FOR .NET(3)        }
24FIT FOR .NET(3)
25FIT FOR .NET(3)        public int times () 
26{
27FIT FOR .NET(3)            return x * y;
28FIT FOR .NET(3)        }
29FIT FOR .NET(3)
30FIT FOR .NET(3)        public int divide () 
31{
32FIT FOR .NET(3)            return x / y;
33FIT FOR .NET(3)        }
34FIT FOR .NET(3)
35FIT FOR .NET(3)        public float floating () 
36{
37FIT FOR .NET(3)            return (float)x / (float)y;
38FIT FOR .NET(3)        }
39FIT FOR .NET(3)        
40{
41FIT FOR .NET(3)            return new ScientificDouble(Math.Sin(toRadians(x)));
42FIT FOR .NET(3)        }
43FIT FOR .NET(3)
44{
45FIT FOR .NET(3)            return new ScientificDouble(Math.Cos(toRadians(x)));
46FIT FOR .NET(3)        }
47FIT FOR .NET(3)
48{
49FIT FOR .NET(3)            return (degrees * Math.PI) / 180d;
50FIT FOR .NET(3)        }
51FIT FOR .NET(3)    }
52FIT FOR .NET(3)}


下面解释一下:
注意到表的第一行:
eg.ArithmeticColumnFixture
什么意思?看看源代码,你发现了什么呢?,没错,表的第一行就是源代码所描述的类的名称.你可能已经想到这个类的方法和表的关系了.
很明显,表的x,y分别对应代码12行的public int x;13行的public int y;(这里x,y必须为public).
后面的plus(),times(),divide(),floating()那就分别对应类的其他方法了.

所以,我们可以想象得到FIT框架其实就是读取以表格形式描述的客户测试案例的数据到测试类里面去,然后配上NUnit的协作,最终完成了自动化测试.

相关文章:

  • 2022-12-23
  • 2021-10-03
  • 2022-12-23
  • 2021-06-19
  • 2021-07-01
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
猜你喜欢
  • 2021-08-01
  • 2021-09-13
  • 2021-11-18
  • 2021-07-06
  • 2022-12-23
  • 2021-10-09
相关资源
相似解决方案