以实际方法举例,请教单元测试该测什么

coodd 2009-08-31 03:22:41
public static List<Int32> GetRandomNum(int Max, int N)
{
List<int> Source = new List<int>();
List<int> Result = new List<int>();
for (int i = 0; i < Max; i++) Source.Add(i + 1);
for (int n = 0; n < N; n++)
{
int r = new Random().Next(0, Source.Count);
Result.Add(Source[r]); Source.RemoveAt(r);
}
Result.Sort();
return Result;
}

这个方法的功能是取得小于Max的N个随机不重复正整数,请问我进行单元测试的话,该测什么。请不必告诉我单元测试是什么,只要教我怎么进行实现该功能的测试,或者搭建环境,谢谢了。
...全文
161 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jack_ailly 2009-08-31
  • 打赏
  • 举报
回复
up
vwxyzh 2009-08-31
  • 打赏
  • 举报
回复
...写错了
N > Max 的情况
vwxyzh 2009-08-31
  • 打赏
  • 举报
回复
N < Max 的情况
wuyq11 2009-08-31
  • 打赏
  • 举报
回复
写方法调用函数,再用TestDriven实现单元测试或写Nunit实现
VS2008 Professional版本已经集成单元测试的功能
参考
cnzdgs 2009-08-31
  • 打赏
  • 举报
回复
建议:
写一个方法用于验证结果是否正确。
先测试Max小于等于0时是否正常,再用双重循环测试,外层改变Max的值,从1开始,每次Max+=随机数%Max,直到达到取值上限为止;内层改变N值,方式与外层循环类似。
homesos 2009-08-31
  • 打赏
  • 举报
回复
应该会有自动化工具
C#我没做过,所以不清楚。

在C++中,可以使用
CppUnit 做单元测试
profile 做单元测试覆盖情况的检测
coodd 2009-08-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 homesos 的回复:]
保证条件分支全部走到、数据值边界测到。
[/Quote]
能否讲一下如何知道分支全走到(每个分支加一条输出?),边界测到,怎么确定边界(人工还是自动的)?
wangxiao2008 2009-08-31
  • 打赏
  • 举报
回复
up
qqiuzaihui 2009-08-31
  • 打赏
  • 举报
回复
《单元测试利器—NUnit详解 【全】》EXE
http://www.verycd.com/topics/362834/

把这个看一遍, 你就都会了.
ws_hgo 2009-08-31
  • 打赏
  • 举报
回复
先看下
homesos 2009-08-31
  • 打赏
  • 举报
回复
保证条件分支全部走到、数据值边界测到。
angel6709 2009-08-31
  • 打赏
  • 举报
回复
随机 :要求测两次以上(比较两次的结果是不是一样)
不重复:验证
正整数 验证
小于Max:验证
N个:验证
都通过了就返回OK
else 就是没有通过

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧