.NET 单元测试 出现“未通过 DivTest1 AddTest1 测试方法 AddTest1.ProgramTest.DivTest1 引发了异常: .” 单元测试测试异常.net 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我们从来不使用vs的所谓单元测试。我们要求只要有bug,立刻进入调试环境,就不在执行后边的测试了。这样,你就能看到出错的详细信息,可以调试程序调用堆栈。我不知道 vs的所谓单元测试有没有这种执行模式。如果没有,那么就不要使用它了。你可以声明类似这样的数据结构Action[] testCases = new Action[]{DivTest1, XXXModule.Class2.Test2, ........};把要执行的单元测试放到一个数组里,然后以随机顺序执行个10遍,例如for(var i=0; i< testCases.Length; i++){ Action x = testCases[ new Random().Next(testCases.Length)]; x();}就行了。不过就是调用一遍这些 DivTest1 之类的 void() 方法而已,你看到离开了 vs 的单元测试就不会执行他们了? for(var i=0; i< 10; i++){ Action x = testCases[ new Random().Next(testCases.Length)]; x();}有些所谓的单元测试工具,运行了好一阵子,然后给你一堆“红灯”信息,最后告诉你“1000个测试,有899个通过,111个未通过”。这种其实是很讨厌的工具。你应该选择那些可以设置为“仅找到第一个bug就停止、并且立刻进入调试环境”的自动工具。如果没有,那么就自己写上几十行代码自己写一个工具就行了。心中有更好的测试概念和操作流程,要比胡乱轻信工具更好。 唉,又写错啦。Test1 t1 = new Test1();Action[] testCases = new Action[]{t1.DivTest1, XXXModule.Class2.Test2, ........};...........for(var i=0; i< 10 * testCases.Length; i++) { Action x = testCases[ new Random().Next(testCases.Length)]; x(); //这里可以给个进度状态显示 }你可以在10个子线程里并发地调用测试程序,以便更好地发现问题。自己写上10几行代码区调用 DivTest1 这类的方法,不要再使用不能高效率地进行测试驱动开发的 vs 的单元测试了。那样,调试器可以直接停在 return a/b 这行代码上,你可以重构你的代码,然后重新开始测试。你可以可以把这10几行代码多写上1行代码,可以选择“仅执行最近3天的测试”而不是所有的测试用例。如果不知道如何写这10几行代码,找别人帮你写一个。在vs理进行测试驱动开发,不需要使用 vs 的单元测试。 byte[] 求解如何转换成图片 VS2005中datagrid的ItemDataBound事件 Dll 引用问题 SQL数据求和问题,急 如何获取combobox的内容 中文括号乱码问题 求一高效算法,谢谢 关于柯达AxImgEdit控件的拖拽问题 等待高手解答 [求助]简单问题,如何将绑定同样数据的combox做成一个统一的自定义控件 C# 对xml读些操作! 看过msdn了,但是没有找到合适的例子;搜过相关专题了,没有一个能解决我的问题。 C#中用多重继承好还是单层继承好? 怎么按F1调用我的xx.chm帮助文件
把要执行的单元测试放到一个数组里,然后以随机顺序执行个10遍,例如for(var i=0; i< testCases.Length; i++)
{
Action x = testCases[ new Random().Next(testCases.Length)];
x();
}就行了。不过就是调用一遍这些 DivTest1 之类的 void() 方法而已,你看到离开了 vs 的单元测试就不会执行他们了?
{
Action x = testCases[ new Random().Next(testCases.Length)];
x();
}有些所谓的单元测试工具,运行了好一阵子,然后给你一堆“红灯”信息,最后告诉你“1000个测试,有899个通过,111个未通过”。这种其实是很讨厌的工具。你应该选择那些可以设置为“仅找到第一个bug就停止、并且立刻进入调试环境”的自动工具。如果没有,那么就自己写上几十行代码自己写一个工具就行了。心中有更好的测试概念和操作流程,要比胡乱轻信工具更好。
Action[] testCases = new Action[]{t1.DivTest1, XXXModule.Class2.Test2, ........};
...........
for(var i=0; i< 10 * testCases.Length; i++)
{
Action x = testCases[ new Random().Next(testCases.Length)];
x();
//这里可以给个进度状态显示
}你可以在10个子线程里并发地调用测试程序,以便更好地发现问题。自己写上10几行代码区调用 DivTest1 这类的方法,不要再使用不能高效率地进行测试驱动开发的 vs 的单元测试了。那样,调试器可以直接停在 return a/b 这行代码上,你可以重构你的代码,然后重新开始测试。你可以可以把这10几行代码多写上1行代码,可以选择“仅执行最近3天的测试”而不是所有的测试用例。如果不知道如何写这10几行代码,找别人帮你写一个。在vs理进行测试驱动开发,不需要使用 vs 的单元测试。