51Testing软件测试论坛

标题: 这样的情况如何做单元测试?【单元测试,C#, VS.Net 2005】 [打印本页]

作者: pikman    时间: 2008-8-5 16:56
标题: 这样的情况如何做单元测试?【单元测试,C#, VS.Net 2005】
在类里面有个方法,这个方法的作用是改变这个类中的一个属性。那么我如何对这个方法进行单元测试呢?我如何才能知道它符合我的预期?

比如说我建立了一个股票帐户类,它有一个属性是Money,表示此帐户中的余额。有一个方法是Buy,比如说Moeny本来是10000,调用Buy方法买入100股10块的股票后,Money变为9000。在VS.Net 2005中如何做单元测试呢?
作者: huior    时间: 2008-8-5 17:03
针对面向对象的代码做单元测试,最小单位通常是“类”,而不是函数。

所以你应该考虑对这个类对单元测试。VS.Net 2005好像已经带了单元测试工具,只要你熟悉单元测试理论,使用工具应该不难
作者: pikman    时间: 2008-8-5 17:25
原帖由 huior 于 2008-8-5 17:03 发表
针对面向对象的代码做单元测试,最小单位通常是“类”,而不是函数。

所以你应该考虑对这个类对单元测试。VS.Net 2005好像已经带了单元测试工具,只要你熟悉单元测试理论,使用工具应该不难


我就是想知道如何针对类来测试啊。
作者: VisualUnit    时间: 2008-8-5 19:31
标题: 针对类是不现实的
一个普通的类,就可能有几十个方法,七八个属性,其对象有无数的状态,怎么测试?
即使针对函数来测试,通常都不会太简单,一个函数需要十个测试用例来测试是很平常的。针对类的话,复杂度随类成员函数和类成员变量的增加,呈指数级上升。

“在类里面有个方法,这个方法的作用是改变这个类中的一个属性”,这是很普通的一个方法,测试方法也很简单,执行测试前先设定这个属性的值,执行测试后判断这个属性的结果值是否符合预期。我没用过VS自带的单元测试工具,这里用Visual Unit 2来举例:
只要在用例的输入部分填写:
.Money = 10000
在输出部分填写:
.Money == 9000
就行了。.表示这是一个成员变量。
注:这里只是拿Visual Unit来简单说明,Visual Unit 不支持C#.

[ 本帖最后由 VisualUnit 于 2008-8-5 19:33 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2