我正在为Javascript代码编写一些测试,遇到错误时,我需要在编译过程中转储一些消息。
System.out.println()
在Javascript中有与Java等效的东西吗?
PS:在执行测试时,我还需要转储调试语句。
更新
我在包含所有合并测试的文件上使用了Maven插件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.mozilla.javascript.tools.shell.Main</mainClass>
<arguments>
<argument>-opt</argument>
<argument>-1</argument>
<argument>${basedir}/src/main/webapp/html/js/test/test.js</argument>
</arguments>
</configuration>
</plugin>
更新二
我尝试过console.log("...")
,但得到:
js: "src/main/webapp/html/js/concat/tests_all.js", line 147:
uncaught JavaScript runtime exception: ReferenceError: "console" is not defined
我正在测试的代码是一组函数(例如在库中)。我正在使用QUnit。
本质上,console.log("Put a message here.")
如果浏览器具有支持的控制台。
另一种典型的调试方法是使用警报, alert("Put a message here.")
RE:更新II
从我在QUnit上阅读的内容来看,这是一个浏览器内的单元测试套件/库,这似乎很有意义,您正在尝试使QUnit测试自动化。QUnit希望在浏览器中运行,因此希望浏览器能够识别您正在调用的所有JavaScript函数。
根据您的Maven配置,您似乎正在使用Rhino在命令行/终端上执行Javascript。这不适用于测试浏览器的特定功能,您可能需要为此研究Selenium。如果您不关心在浏览器中测试JavaScript,而只是在命令行级别测试JavaScript(由于我不熟悉的原因),那么Rhino似乎可以识别一种print()
评估表达式并将其打印出来的方法。查看此文档。
这些链接可能会让您感兴趣。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句