在测试项目中应用Pex的经验分享

发表于:2009-6-19 12:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:进化    来源:进化的测试博客

  Pex是微软研究院开发的一个自动化白盒测试工具,前面我也写过一些博客来对Pex进行介绍,上周决定正式把Pex应用到真正的项目中,不过效果没有想象中的好,不过还是决定记录下一些心得。

  1、关于测试类名称和测试方法名称

  为了把Pex和其他单元测试方法区分开来,本人选择了把所有Pex的测试都以PexTest作为方法名和类名的前缀。因为Pex会根据已经写好的 PUT(Parameterized Unit Test)生成一般的单元测试代码,规则可以自定义,一般都是PUT的名字然后跟上01,02,03……如果我们以PexTest作为前缀,那么就比较容易区分PexTest和普通的单元测试。

  2、每个PexTest都会生成一些普通的单元测试代码,这些代码都是存放在一个叫{TestMethodName}.g.cs的文件中,对于这个文件里面代码,不建议手动修改。

  3、在组织测试代码的时候,应该吧PexTest和一般的单元测试分开,如图:

  4、如果需要测试Singleton实例中的方法,需要给这个实例创建一个带有[PexFactoryMethod]属性的方法,来告诉Pex如何获得Singleton实例。例如:

public static partial class CommentProviderFactory
{
   [PexFactoryMethod(typeof(CommentProvider))]
   public static object Create()
   {
   return CommentProvider.Instance;
   }
}

  5、Pex有时候会尝试着对.NET自带的代码也进行测试,如果遇到这种情况,可以在Pex Exploration Results窗口中把相关的方法标记为不检测。

  6、如果修改了PUT,那么原来在{TestMethodName}.g.cs自动生成的测试方法有可能没法运行,可以把这个文件删掉,然后让Pex重新生成测试。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号