自动化测试.NET(Gallio?)

5

我正在开发一个软件项目,主要使用C和C#编写代码。目前,测试的责任主要落在开发人员身上,因为他们会更改代码。

我有兴趣实现一个自动化测试框架,以帮助我们提高代码质量。特别是,每次提交代码到版本控制时都进行自动化测试将非常好。

我没有太多关于自动化测试(或单元测试)的经验。有没有人使用过C/C#的测试框架进行开发?如果有,我们在公司范围内实施它以及在一个相当大的现有代码库中可能会遇到什么问题?

我特别关注了Gallio的使用方式。如果您对这个产品有任何评论,将不胜感激。

附加信息:

向现有项目添加单元测试
对传统ASP.NET Webforms应用程序进行单元测试
将现有代码转移到测试驱动开发
最喜欢的.NET单元测试框架

4个回答

3

Gallio实际上是整个测试工具链的框架。从编写测试到运行测试再到后续构建过程,它提供了公共设施和标准化接口,使每个步骤都能够灵活选择和自由组合。

它带有一个版本的MbUnit框架,默认情况下使用它。它还带有一个名为Icarus的GUI运行程序和一个名为Echo的控制台运行程序。它们都是测试社区中备受尊重的工具。

对于大型公司来说,它是一个非常好的选择,因为它可以使您在最小集成麻烦的情况下利用许多流行的测试和持续集成工具。

选择一个框架并编写测试只是一场半路出家的战斗,Gallio确实有助于解决另一半问题;将构建过程中的所有其他步骤粘合起来。

目前唯一的真正缺点是缺乏一个中央的示例和信息仓库。对于一些人来说,它作为一个相对较新的倡议可能会阻止他们现在使用它。

在这里查看文档。虽然还很不完整,但可以帮助你入门测试基础知识。请关注Jeff Brown的博客获取其他信息。


3
坦白说,这听起来像是你在寻找不去做它的理由。只需获取NUnit并开始操作。从最小的部分开始入手,让自己逐渐熟悉。

1
相反,我非常想使用单元测试。然而,这需要向大约100人推广,我希望确保我们将时间和精力投入到正确的工具中。 - Tim
@Tim:这就是应该在你的问题中提供的信息!“全公司范围”可能意味着“你和其他程序员” ;-) - Steven A. Lowe
+1,NUnit非常棒。@Tim,有很多替代品,其中一些不错,但差异很小。拿起来就走吧。 - orip

1

TestComplete在我几年前使用时还不错,而且很容易上手。至少当时你需要学习一些VBScript。


0

我们使用AutomatedQA的TestComplete,它是一个不错的平台来进行GUI测试。 我们所有的TestComplete代码都是用Jscript编写的,这并不是很好,但它能完成工作。我不确定我会推荐自动化GUI测试,我认为你在单元测试方面会得到更好的回报。

Nunit和rhino mock是进行单元测试的绝佳工具。

CruiseControl看起来是每次构建设置自动化测试的最佳方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接