2010-09-30 45 views
24

我一直在寻找一种在Visual Studio IDE中运行JavaScript单元测试的好方法。我目前使用TestDriven.net来运行我的C#单元测试,并且能够在输出窗格中快速获取我的测试结果非常方便。我很乐意为JavaScript找到类似的体验(最好与TestDriven.net一起工作)。在Visual Studio中运行JavaScript单元测试

我已阅读有关允许您执行JavaScrpt单元测试的不同解决方案。有些拥有自己的JS引擎,而其他像JS-Test-Driver能够将代码发送到浏览器并获取结果。但是我还没有看到VS中集成的东西。

有谁知道可能会这样做的扩展?

+0

这里有什么新东西? – pavsaund 2010-12-12 20:20:14

回答

23

九个月后,现在有几个问题的答案。

I created一个名为Chutzpah - A JavaScript Test Runner的开源项目。 Chutzpah使您能够从命令行和Visual Studio内部运行JavaScript单元测试。它还支持在TeamCity持续集成服务器中运行。

另一个解决方案是下一个版本的Resharper的一部分。在Resharper 6中有一个integrated QUnit test runner

+0

好的一步,创造你自己的测试跑者:)。看起来很有趣。 我个人保留与jstestdriver,因为它只是在跨浏览器测试生成服务器真棒。此外,对于开发人员而言,使用精简的jsautotest包装器可以在每次保存时运行所有测试。 [jstdutil_a_ruby_wrapper_over_jstestdriver](http://cjohansen.no/en/javascript/jstdutil_a_ruby_wrapper_over_jstestdriver) – pavsaund 2011-06-22 06:56:07

+0

谢谢,我对jstestdriver进行了长时间的观察,它能够在多个浏览器上运行,这是非常理想的。我计划最终增加Chutzpah使用jstestdriver和其他可能的测试驱动程序的能力。对于第一个版本,我使用了无头浏览器,因为它是自包含的。用户可以抓住钻头并运行,不用担心机器上有哪些浏览器。 – 2011-06-22 13:47:05

+0

@Matthew Manela太棒了! :) – 2011-10-08 20:38:21

12

可以使用JsTestDriver在Visual Studio中成为测试运行者。一旦服务器启动后,连接了浏览器,就可以直接在Visual Studio中运行测试。

控制台窗口会给出测试结果的输出。我不会去这里的实现细节,但the following how-to应该足以让你开始实际设置Visual Studio/JsTestRunner。

从Chrome和Internet Explorer的控制台输出(无视我的坏测试名):Console output from chrome and internet explorer

JsTestDriver是主要的测试运行工具来验证多个浏览器。为了在javascript本身上获得良好的单元测试,可以插入其他特定于测试的工具,如JasmineBDDjasmine to jstestdriver adapter)。

JsTestDriver也开放了测试多个浏览器的可能性,作为持续集成服务器上的构建步骤,即:Hudson(Continuous Integration with Hudson and jstestdriver)。这允许开发人员在本地开发时针对特定浏览器进行测试,然后在构建服务器上针对任何范围的OS /浏览器组合验证结果。

+0

这很不错。如果这可以集成到现有的测试工具(如TD.net或Resharper的测试运行器)内,那将会很好。另一个问题是它有点慢(它必须启动浏览器并附加到它们)。如果有一个类似于http://www.envjs.com/的选项,我们可以挂钩到现有的测试运行程序中,那将很酷。 – 2011-01-22 20:57:23

+0

在本地开发期间,您可以将浏览器打开并连接到服务器...以便更快运行。它仍然是一个drwaback,它运行所有测试,而不仅仅是当前上下文中的测试。 – pavsaund 2011-01-26 07:42:27

+0

我希望能够将这一点融入到TD.net中。当然,这可能是值得的。我没有使用envjs实际上,所以不知道这是如何实际工作 – pavsaund 2011-01-26 07:44:29

相关问题