没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|产品更新|编辑:我只采一朵|2013-12-10 09:41:40.000|阅读 688 次
概述:本文详细讲解了DevExpress CodeRush 13.2新增的 Unit Test Builder (UTB) 使用步骤,帮助你更好的完成代码测试.
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
开发人员大概都遇到过这种情况:就是在调试代码的过程中发现了一个由数据传输或软件状态引发的问题,你想继续逐步执行代码,但你又想为正在使用的方法添加一个测试用例。怎么办?不用担心,DevExpress CodeRush 13.2刚好新增了一个非常实用的新功能: Unit Test Builder (UTB)。它可以帮助你实现以上想法,下面小编就为你讲解一下它的使用步骤:
1、首先,你需要一个测试项目去引用至少一个测试框架,这个框架随便你选择,因为CodeRush支持所有的测试框架,Unit Test Builder(UTB)支持引用了多个测试框架的项目。
2、开始调试程序,然后你会发现一些有趣的地方。比如这里调用了一个计算素数的类:

正如你从Expression Explorer中看到的那样,我们正在传送4,IsPrime方法返回了True。4不是一个素数,所以这是一个bug,下面进入IsPrime方法:

3、按下Ctrl+Alt+Shift+T为这个方法生成一个新的测试,Unit Test Builder将会弹出来:

调试结束后你会看到一个生成的测试列表。将鼠标放在 "Method Called" 列上会显示值的路径提示:

4、下面我们重命名测试方法,将它命名为FourIsNotPrime:

5、我们可以根据需要选择设置不同的class,我们既可以使用当前的测试类,也可以创建一个新的测试类:

6、最后,我们可以添加一个可选的remarks,它会在一个XML doc comment中显示:

注意,所有上面使用UTB (4-6, above)的步骤均是完全可选的,你可以继续调试并添加测试方法,并且不需要对测试方法的名称作任何更改,也不用管它的位置。
7、继续调试并根据需要添加更多的测试

8、完成之后,停止进程或关闭正在调试的应用程序,到这个时候所有我们添加到UTB的测试都会生成。

9、现在你可以添加一些声明代码(CodeRush有一些模板比如 "at"代表 Assert.IsTrue, "af" 代表Assert.IsFalse) 最后我们的测试代码是这样的:
[TestClass]
public class CalculatorTests
{
Calculator _Calc;
[TestInitialize]
public void Initialize()
{
_Calc = new Calculator();
_Calc.Owner = this;
}
[TestMethod]
public void TestIsPrime5()
{
int candidate = 5;
bool result = _Calc.IsPrime(candidate);
Assert.IsTrue(result);
}
[TestMethod]
public void TestIsPrime10()
{
int candidate = 10;
bool result = _Calc.IsPrime(candidate);
Assert.IsFalse(result);
}
// These two methods were generated following the
// steps shown above in this blog. Note that the
// UTB is smart enough to realize that we need
// an instance of Calculator and that this test
// fixture already had one. So we use that instance
// in the generated test methods.
/// <summary>
/// Four is not a prime number!
/// </summary>
[TestMethod]
public void FourIsNotPrime()
{
int candidate = 4;
bool result = _Calc.IsPrime(candidate);
Assert.IsFalse(result);
}
/// <summary>
/// Nine is not a prime number!
/// </summary>
[TestMethod]
public void NineIsNotPrime()
{
int candidate = 9;
bool result = _Calc.IsPrime(candidate);
Assert.IsFalse(result);
}
}
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn
文章转载自:慧都控件



本文将介绍界面组件Telerik UI for WinForms在今年第三个重大版本2025 Q3中发布的新功能,欢迎下载最新版组件体验!
界面控件DevExpress WinForms v25.2将于今年年末左右更新,新版本将继续升级报表组件功能等,欢迎关注我们及时获取最新消息~
DevExpress WinForms控件v25.1日前已经全新发布,新版本的Ribbon、PDF Viewer(查看器)等组件功能全新升级等,欢迎下载最新版体验!
界面控件DevExpress WinForms v25.2将于今年年末左右更新,新版本将继续升级富文本编辑器控件功能等,欢迎关注我们及时获取最新消息~
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营