首先每个测试用列之间应该是独立的。不应该有任何的依赖关系。
所以每个测试用列的数据都是独立的。
但是会存在这么一种情况。
多个测试用列会使用同一组数据。
这是这么办,难道要在每个测试用中都初始化 这一组数据吗,
这样明显违反了DRY的原则。程序员都是偷懒的。
那么 这时 Setup attribute开始有用处了。
当某个方法 有这个attribute时 。
在每个测试方法被调用之前 都会调用 这个方法,
所以setup 这个attribute 这个方法用于一些资源的初始化。
当然,也有一个teatdown的attribute 和 setup想对应,
这个attribute用于释放资源。
被测试类
测试类
setup和teardown 是每个测试方法在被调用之前 都会被调用的。
但是 先数据库连接这种资源 应该是整个测试类公用一个的。
所以这种资源 应该怎么初始化呢,
当然不应该在每个测试方法 被调用之前都初始化他。因为这个是非常浪费时间的。
这时就应该用 TestFixtureSetUp和TestFixtureTearDown来初始化这种资源。
当某个测试方法 有TestFixtureSetUp 标签时,在测试类被初始化时 这个方法会被调用。
TestFixtureTearDown 用于释放在TestFixtureSetUp 中的资源。
分组。
在很多情况下,需要给测试用列分组,有时候一个功能函数也是对应多个测试用列的,当不同的业务需要不同的分类。在GUI 中 选好需要进行测试的组, 这样就可以更加细化的去运行。
这时需要用 Category 属性。
当期望 测试用列中会有异常时,用 ExpectedException
这时出现异常,测试时通过的,没有异常测试时不过的。