003-如何编写优秀的单元测试?

1. 3A:Arrange-Act-Assert

Arrange: Set up the test data.

Act: Call the unit under test.

Assert: Compare the expected and actual results, and log the result of the comparison as a fail or pass.

2.每个测试只测试一件事情

      如果测试方法中包含了不止一个方面的行为,那么将会很难阅读和扩展。当测试失败时,错也比较难定位。

      MSTest测试框架并不能实现测试状态从一个测试方法到另一个测试方法的传递。在VS中,可以使用顺序测试来执行一个特定的测试序列。

3.使用Test Class标识被测对象的不同行为区域

      按照不同的行为特征把测试分成若干Test Class。如果希望在测试类间共享一些方法,可以设置共同的抽象类。

      每一个测试类可以有一个TestInitialize和TestCleanup方法。在TestInitialize中设置单元测试的初始状态,比如创建一个测试对象,打开数据库连接,载入数据等。在TestCleanup中,回收测试资源。

4.测试异常处理

5.不要只测试一个值或状态

 

posted @ 2015-04-20 23:29  RunningYY  阅读(218)  评论(0)    收藏  举报