在面向对象的开发和测试中还涉及到对象的状态。一个成员函数,它的功能常常是修改了对象的状态,即在某种前置状态下执行该函数,其结果是使对象的状态发生了变化,即后置状态。测试时要设定前置状态,并判断后置状态是否符合预期
"对象的状态"是什么?其实就是成员变量的值,"设定前置状态,并判断后置状态是否符合预期"就是在输入数据部分给成员变量设定初始值,在预期输出部分判断成员变量的结果值是否符合预期
被
测试对象可能有很多成员变量,但对于一个成员函数来说,涉及到的成员变量一般不会很多。只需要为被测试函数需要读取的成员变量设定初始值,不必考虑其他无
关的成员变量。同样,如果涉及到的成员变量是高级数据类型,则只需要为被测试函数需要读取的域或成员设定初始值,不必考虑其他无关的数据
这个示例涉及到成员变量的读写
由于VU无法确定程序需要读写哪些成员变量,所以只为参数生成了输入数据,成员变量需要由用户填写,语法是用.操作符表示成员变量
注意,表示成员变量的.操作符必须是第一个字符。只要为产品类添加了测试支持代码,就可以直接访问任何私有或保护的成员变量
这是测试结果
可以看到成员变量的输入值和输出结果
如果成员变量是高级数据类型的对象或对象指针,可以直接调用它的操作,只要符合C++语法就行了
必要时,可以用.操作符直接调用成员函数,只要产品类添加了测试支持代码,测试用例中就可以访问任何成员函数包括私有和保护的成员函数
前置操作,例如先打开一个文件
总之,在测试用例中,可以用.操作符访问任何成员变量,可以用符合C++语法的任何方式为成员变量设定初始值,还可以用.操作符调用任何成员函数