我应该总是在浏览器中测试JS吗?

时间:2010-09-28 12:32:11

标签: javascript

我是JS初学者。我的问题是我们是否总是需要使用浏览器来测试JS代码?是否有可用的命令提示符编译器/解释器?

5 个答案:

答案 0 :(得分:5)

Rhino和Spidermonkey提供独立的解释器,但是如果你想测试DOM操作,你需要找到一个DOM实现,并且你需要在你正在瞄准的任何浏览器中进行测试(并不是所有的JS引擎都被创建)相等)。

答案 1 :(得分:2)

不仅要使用一个浏览器进行测试,还要使用所有浏览器进行测试 - 作为Web开发人员,您有责任确保您编写的代码将为访问您网站的所有用户(或尽可能多的用户)运行。因此,如果您的网站可供公众使用,那么您应该在所有将由公众使用的浏览器中进行测试。

那就是说,我(可能是大多数开发者)确实倾向于坚持使用一个浏览器进行主要开发工作,并且只是偶尔切换到其他浏览器进行测试。

至于命令行Javascript,我最喜欢的方法是使用Firebug,它是Firefox浏览器的插件,旨在帮助开发人员调试他们的Javascript代码。它有一个控制台模式,你可以用它来执行任意的javascript代码,这对于调试非常方便(它有许多其他神话般的功能;如果你还没有尝试过,我认真推荐它)。

答案 2 :(得分:1)

JavaScript本身就是一种语言。没有对象模型就没用了。您可以创建循环,函数等,但您必须使用特定JavaScript环境中的内容。例如,如果您使用Windows脚本宿主 - 您只获得控制台输入和输出。如果您需要Web环境 - 文档,窗口,正文,getElementById方法 - 您需要一个提供所有这些对象的环境。而且网页浏览器做得最好。

答案 3 :(得分:1)

如果您将JavaScript用于客户端网络,则可以使用Selenium自动进行JS测试。根据您的平台(PHP,Ruby,Java)和框架(例如Ruby on Rails ......),您应该没有问题找到适当的集成绑定。

Selenium在后台启动浏览器并使用它执行所有测试。这里的好处是你的测试是无人值守的,而且你选择的是真正的浏览器:Firefox,IE,Opera,而不是一些有限的翻译。

您也可以在不打开浏览器窗口的情况下运行Selenium headlessly

如果您不想使用硒,可以尝试其他alternatives

答案 4 :(得分:0)

是的,你应该。由于每个浏览器都没有遵循标准,因此根据您的代码,每个浏览器可能会有所不同。所以最好在浏览器上测试它。