我一直在寻找在Visual Studio IDE中运行JavaScript单元测试的好方法。我目前使用TestDriven.net来运行我的C#单元测试,能够在输出窗格中快速获取测试结果非常方便。我很想找到类似JavaScript的经验(最好与TestDriven.net合作)。
我已经阅读了有关允许您执行JavaScrpt单元测试的不同解决方案。有些人有自己的JS引擎,而像JS-Test-Driver这样的其他人能够将代码发送到浏览器并获取结果。但我还没有看到融入VS的东西。
是否有人知道可能会执行此操作的扩展程序?
答案 0 :(得分:24)
九个月后,这个问题现在有几个答案。
我created一个名为Chutzpah - A JavaScript Test Runner的开源项目。 Chutzpah使您可以从命令行和Visual Studio内部运行JavaScript单元测试。它还支持在TeamCity持续集成服务器中运行。
另一个解决方案是下一版Resharper的一部分。在Resharper 6中有一个integrated QUnit test runner。
答案 1 :(得分:12)
可以使用JsTestDriver成为Visual Studio中的测试运行器。启动服务器后,如果连接了浏览器,则可以直接从Visual Studio中运行测试。
然后,控制台窗口将提供测试结果的输出。我不会在这里讨论实现细节,但是the following how-to应该足以让您开始实际设置Visual Studio / JsTestRunner。
Chrome和Internet Explorer的控制台输出(忽略我的错误测试名称):
JsTestDriver主要是用于验证多个浏览器的测试运行工具。要在javascript本身上获得良好的单元测试,可以插入其他特定于测试的工具,如JasmineBDD(jasmine to jstestdriver adapter)。
JsTestDriver还打开了测试多个浏览器作为持续集成服务器上的构建步骤的可能性,即:Hudson(Continuous Integration with Hudson and jstestdriver)。这允许开发人员在本地开发时针对某个或两个浏览器进行测试,然后针对构建服务器上的任何OS /浏览器组合范围验证结果。
答案 2 :(得分:1)
在寻找同样的事情时,发现了这篇文章(和这个问题)。
Integrating JavaScript Unit Tests with Visual Studio - Steven Walther
它确实有很多工作,但它似乎真的带来了很好的互动。如果您正在使用JavaScript繁重的应用程序,那肯定值得麻烦。
答案 3 :(得分:0)
Microsoft 有一个链接,推荐使用 NodeJS 应用来运行我们的 JavaScript 单元测试。 Visual Studio 的测试窗口现在可以看到我们在该项目中编写的测试,即使整个项目都在 C# 中:
推荐的测试库组合(单元测试/模拟/断言)之一是使用 Mocha/Sinon/Chai。对于这种风格,这里有一个有用的教程:
还有另一个让 vanilla JS 在 node 环境中工作的链接: