【发布时间】:2011-04-18 06:45:12
【问题描述】:
我是 JS 初学者。我的问题是我们是否总是需要使用浏览器来测试 JS 代码?是否有可用的命令提示符编译器/解释器?
【问题讨论】:
标签: javascript
我是 JS 初学者。我的问题是我们是否总是需要使用浏览器来测试 JS 代码?是否有可用的命令提示符编译器/解释器?
【问题讨论】:
标签: javascript
Rhino 和 Spidermonkey 提供独立的解释器,但是如果你想测试 DOM 操作,你需要找到一个 DOM 实现,而且你需要在任何你定位的浏览器中进行测试(不是所有的 JS 引擎都是创建的相等)。
【讨论】:
不仅使用一个浏览器进行测试,而且使用所有浏览器进行测试——作为一名网络开发者,你有责任确保你编写的代码能够为所有访问您网站的用户(或尽可能多的用户)运行。因此,如果您的网站可供公众使用,那么您确实应该在所有将被公众使用的浏览器中进行测试。
也就是说,我(可能还有大多数开发人员)确实倾向于坚持使用一个浏览器进行主要的开发工作,而只是偶尔切换到其他浏览器进行测试。
至于命令行 Javascript,我最喜欢的做法是使用 Firebug,这是 Firefox 浏览器的一个插件,旨在帮助开发人员调试他们的 Javascript 代码。它有一个控制台模式,你可以用它来执行任意 javascript 代码,这对于调试来说非常方便(它还有许多其他很棒的功能;如果你还没有尝试过,我强烈推荐它)。
【讨论】:
JavaScript 本身只不过是一种语言。没有对象模型是没有用的。您可以创建循环、函数等,但您必须使用特定 JavaScript 环境中的内容。例如,如果您使用 Windows Script Host,您只能获得控制台输入和输出。如果您需要 Web 环境 - 文档、窗口、正文、getElementById 方法 - 您需要一个提供所有这些对象的环境。而网络浏览器做得最好。
【讨论】:
如果您将 JavaScript 用于客户端 Web,那么您可以使用 Selenium 自动执行 JS 测试。根据您的平台(PHP、Ruby、Java)和框架(例如 Ruby on Rails...),您应该可以轻松找到合适的集成绑定。
Selenium 在后台启动浏览器并使用它执行所有测试。这里的好处是您的测试是无人值守的,并且针对您选择的真实浏览器:Firefox、IE、Opera,而不是一些有限的解释器。
您也可以在不打开浏览器窗口的情况下运行Selenium headlessly。
如果您不想使用 selenium,可以尝试其他 alternatives。
【讨论】:
是的,你应该。由于并非每个人都遵循该标准,因此每个浏览器的行为可能会根据您的代码而有所不同。所以最好在浏览器上测试一下。
【讨论】: