再看下边界性况下的测试:
1 [TestMethod] 2 public void Add_Limit_Test() 3 { 4 Calculator cal = new Calculator(); 5 Int64 expect = 4394967294; 6 7 //// int.MaxValue = 2147483647 8 int actual = cal.Add(int.MaxValue, int.MaxValue); 9 Assert.AreEqual(expect, actual); 10 } |
优化
在上面的例子中,我们在每一个Case中都去声明了Calculator对象的实例,并且都没有对该类的属性做出任何修改。那可以将其提出作为公用。并在测试类初始化时去生成Calculator的实例。
在MS Test中有两种办法在所有用例运行之前生成该依赖对象的实例:
1. 构造函数
1 2 [TestClass] 3 public class CalculatorTest 4 { 5 private Calculator cal; 6 7 public CalculatorTest() 8 { 9 cal = new Calculator(); 10 } 11 12 ~CalculatorTest() 13 { 14 cal = null; 15 } 16 17 [TestMethod] 18 public void Add_Normal_Test() 19 { 20 int expect = 3; 21 22 int actual = cal.Add(1, 2); 23 Assert.AreEqual(expect, actual); 24 } 25 } |