2008-12-25 50 views

回答

7

如果你已经在Visual Studio中集成了单元测试(我认为它是Professional和更好的一部分),那么就从这个开始,因为它是集成的。不过,据我所知,除了Visual Studio或Team Foundation Server之外,没有其他的测试运行者不适合自动化测试,但我不确定这些信息的当前状态。

其他替代方案是xUnit.net,NUnitmbUnit。由于缺乏经验,我无法真正谈论利弊,但现在我使用xUnit.net,因为a)我知道从版本1.1开始就有一个可用的ASP.net MVC模板,b)Assert.Throws只是性感。我使用免费的个人版TestDriven.net作为Visual Studio中的测试运行器。

有一个“如何开始”指南的xUnit:http://www.codeplex.com/xunit/Wiki/View.aspx?title=HowToUse

同样,我真的不能比较它们由于缺乏与NUnit的和MbUnit的经验,但我相信,所有三个都相当稳定并可用。

+0

由于缺少与CI服务器和其他第三方工具的开箱即用的集成,我会从除Visual Studio单元测试框架之外的任何东西开始 – Paco 2009-04-28 19:08:43

3

我使用一个烘焙到Visual Studio的版本,并且增加了TestDriven.Net这个右键菜单项,它允许我使用/不使用调试器来运行单个测试。我开始使用NUnit。任何一个可能都没问题。我更喜欢在VS中使用这个工具,所以我不必同时支持这两种工具,但是集成有一些优势,尤其是在使用Team System时。

我相信TestDriven.Net支持很多不同的框架。您还需要使用覆盖分析器来帮助您查看代码的哪些部分已经被测试覆盖,并帮助您确定可能需要的其他测试。你可能需要Team系统在VS的覆盖率分析中出炉,但总是有NCover(随TestDriven.Net提供)。

我建议你从Pragmatic ProgrammersTest Driven Development with C#Pragmatic Unit Testing in C#。两者都会有例子。

Rob Conery的StoreFront这个例子是ASP.NET MVC的一个很好的例子。

3

Rob Conery创建了一个serie of videos,演示了如何使用MVC创建电子商务应用程序。他用一个完整的测试驱动的方法(使用内置的测试框架在Visual Studio 2008)

2

我想补充的唯一一件事就是一)给予他们一个尝试,看看你喜欢什么[这是一个垃圾答案,但每个人都有自己的喜欢和不喜欢,所以'试试看'卡玩得很多]和你遇到什么摩擦点和B)检查了XUnit CodePlex网站上的nice comparison of the primary unit test frameworks

0

让我们先从一些基础知识开始,好吗?单元测试是指对可能的最小代码进行测试,通常是代码中的函数/过程/方法。我建议阅读Martin Fowler的“Refactoring”,作为一本关于单元测试如何在重构中发挥作用的好书。

根据您设置代码的方式,您可能希望查看模拟框架,例如RhinoMocks,NMocks,.Net MockObjects等,以便您可以设置测试装置以处理呼叫可能执行的预执行条件要求。在那里可能有超过几个模拟对象单元测试的例子,关于asp.net-mvc的教程应该有一个或两个测试例子。

不要忘了,asp.net-mvc仍然处于测试阶段,并且可能会因为各种各样的纠结而改变一些。

3

我建议你看看Gallio Automation Platform for .NET,因为它提供了一个中性(和免费)工具,可以在一个GUI工具下为你实现多个单元测试框架。它由mbUnit后面的人创建。

我对任何单元测试框架的主要赞成是它使你对代码有很大的信心,并且实践TDD成为一件很自然的事。

最主要的是,ASP.NET webforms(这是我倾向于编码)不容易单元测试,这就是为什么ASP.NET MVC对人们如此有吸引力。另一个意思是,你需要进入它意识到,你将需要重新测试他们的代码,即使不是更多。

0

我使用Selenium RCMoq。到目前为止,我还没有遇到太多的我无法测试并获得良好报道的领域。

看看Selenium RC sample code。这是非常直接和容易遵循...

1

我不是想混淆你,如果你是一个开发人员,想测试ASP.NET MVC项目,然后使用XUnit,这是很好的,由微软的员工开发。它有控制台& gui跑步者,这有助于自动测试。 XUnit现在被大多数开发人员使用。

相关问题