什么是首选的.NET Rails风格框架?

3
我非常喜欢Rails的Web应用程序开发方法,但在目前的工作中,我想使用.NET技术。在.NET世界中,有什么首屈一指的类似Rails的框架吗?我知道Microsoft已经开发了ASP.NET MVC作为这样一个框架,但我对它的了解还很肤浅。
对我来说,测试的易用性尤其重要,我喜欢如何使用Cucumber为Rails编写可测试的场景。JavaScript部分的测试也应该被考虑进去。
总之:我正在寻找一个.NET替代方案,它提供与Rails相同的完整开发堆栈,从端到端,:)

1
我对看到回应很感兴趣。我偏爱使用linq-to-sql/NHibernate/Entities的MVC来生成DAL,但我还没有看到内置JavaScript单元测试的任何东西。 - Chris Van Opstal
我也对JavaScript单元测试很感兴趣,但我不确定它是如何工作的。 - Dismissile
2个回答

6
你已经回答了自己的问题。ASP.net MVC 是你要找的东西。它很容易为你的控制器、路由等创建单元测试。
如果你想获取更多关于 ASP.net MVC 的信息,可以访问 www.asp.net/mvc。你可能还想关注以下博客:

http://haacked.com/
http://weblogs.asp.net/scottgu/


您介意详细说明一下它与Rails相比的情况吗?具体而言,相对于单元测试,它在集成测试方面如何表现,包括Javascript的测试?我想知道它的不足之处(最好事先了解痛点):) - aknuds1
@adknuds1 - 询问服务器端语言如何测试JavaScript,不就像询问汽车在水下行驶的方式一样荒谬吗?你的JavaScript单元测试难道不是用JavaScript编写的吗? - John Farrell
jfar:这是整个堆栈的问题。Rails与Javascript有一些集成,并且有相关的工具来测试Javascript代码(例如Capybara)。 - aknuds1

1

是的,你说得对。ASP.NET MVC 3.0就是你要找的框架。它提供了完整的堆栈。

对于Cucumber风格的测试,你可以使用SpecFlow。还有其他BDD工具,但SpecFlow与Cucumber最接近,因为两者都基于Gherkin。

学习MVC,我建议按照以下教程的顺序进行:

  1. 在官方ASP.NET MVC网站上观看getting-started-with-mvc3-part1-cs视频。
  2. 接下来尝试一下音乐商店教程,同样在官方ASP.NET MVC网站上。这将使事情更上一层楼。
  3. 然后你可以谷歌寻找nerd dinner教程。这是一个很棒的教程,但我不确定它是否已经完全升级到ASP.NET MVC 3。
  4. http://www.asp.net/mvc/videos:这里有很多视频。您可以查看Storefront视频系列,了解如何使用MVC创建复杂的网站示例。
  5. 最后,在tekpub上有一些优秀的视频(虽然需要付费),可以掌握mvc并构建mvc博客。

通过这些教程,您不仅可以学习基础知识,还可以学习Linq2SQL或Entity Framework(ORM)、Ninject(依赖注入)、Moq(模拟框架)、SpecFlow等...

如果你想自己尝试一些东西,可以从Rob Conery(来自Tekpub)在codeplex上发布的ASP.NET MVC 2.0 Starter Site开始。Rob是ASP.Net MVC和Ruby on Rails方面的专家,与你有着相同的关注点。虽然这是在MVC 2.0中,但它也应该适用于版本3。
希望这可以帮到你。

谢谢你详细的回答,Yasir,特别是指引我使用SpecFlow :) 然而,是否也可以使用SpecFlow测试Javascript,就像使用Cucumber/Capybara一样呢? - aknuds1
我个人没有使用过Capybara或任何.NET JavaScript测试框架,但您可以使用浏览器自动化框架,如WatIn和Selenium。 WatIn网站上说它支持Ajax网站测试。看看是否符合您的目的。 WatIn适用于IE 6-8和Firefox 2和3。 - Yasir

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