C#怎么对下面的代码进行单元测试

hou9767491391 2012-05-26 10:28:05
方法如下为测试的代码:
private void Sort(int[] list)
{
int temp;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 9 - i; j++)
{
if (list[j] > list[j + 1])
{
temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
}
下面为实现:
private void Form1_Load(object sender, EventArgs e)
{
int[] s = new int[] { 2, 1, 3, 5, 4, 77, 7, 8, 69, 9 };
Sort(s);
for (int m = 0; m < 10; m++)
{
label1.Text = label1.Text + " " + s[m].ToString();
}
}
...全文
264 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hou9767491391 2012-05-28
  • 打赏
  • 举报
回复
问题已经解决了 ,虽然没有用到,但是还是谢谢大家了
hou9767491391 2012-05-27
  • 打赏
  • 举报
回复
我们要求要应c#中的单元测试,所以要有代码,这是无返回值的怎么测试啊
  • 打赏
  • 举报
回复
多年前我推荐的一篇关于c++测试驱动入门文章:http://www.kuqin.com/testing/20080423/7469.html

实际上,测试引擎就是很简单的小程序。千万别搞繁琐了。
  • 打赏
  • 举报
回复
举个例子吧。你可以在自己的代码中写
Action[] TestCases= new Action[]{test1, test21, XXX.YYY.method32, ...... };
这样就将你的测试用例小程序预先注册到一个数组里了。然后,你就可以写一个循环,依次调用这些方法,再打乱它们的次序依次调用,再并发多线程调用,在通过反射方法上的一两个Attribute来调出最近3天的测试用例单独调用、或者挑出某类测试用例来单独调用.....自己写个几十行的小Console程序,就可以成为一个很好的测试引擎。
  • 打赏
  • 举报
回复
你可以直接在Form1_Load中写断言,例如
private void Form1_Load(object sender, EventArgs e)
{
int[] s = new int[] { 2, 1, 3, 5, 4, 77, 7, 8, 69, 9 };
Sort(s);
Debug.Assert(s.Length==10);
Debug.Assert(s[2]==3);
Debug.Assert(s[9]==77);
for (int m = 0; m < 10; m++)
{
label1.Text = label1.Text + " " + s[m].ToString();
}
}


我从来不使用vs的单元测试,我们使用自己的写的测试引擎(其实也就几十行代码)。所谓测试,不过就是作为引擎可以加载那些包括了断言的form_load之类的小程序。这里关键的技术是懂得写上断言,而如何让断言执行,我相信你完全可以有许多种方法,不一定要用庞大而无用的vs的什么单元测试。
hou9767491391 2012-05-26
  • 打赏
  • 举报
回复
我的意思是 怎么写单元测试代码 工具是vs2005
人生无悔 2012-05-26
  • 打赏
  • 举报
回复
在Sort函数中F9加入断点,F10或F11单步调试就可以了。。。

110,539

社区成员

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

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

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