我正在为 Javascript 代码编写一些测试,当遇到错误时,我需要在编译过程中转储一些消息。
在 Javascript 中有没有等同于 Java 的 System.out.println()
的东西?
附言:我还需要在实现测试时转储调试语句。
更新
我在包含所有合并测试的文件上使用 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.")
回复:更新 II
这似乎有道理,您正在尝试自动化 QUnit 测试,从我在 QUnit 上读到的内容来看,这是一个浏览器内单元测试套件/库。 QUnit 希望在浏览器中运行,因此希望浏览器能够识别您正在调用的所有 JavaScript 函数。
根据您的 Maven 配置,您似乎正在使用 Rhino 在命令行/终端执行您的 Javascript。这不适用于测试浏览器细节,您可能需要为此查看 Selenium。如果您不关心在浏览器中测试 JavaScript,而只是在命令行级别测试 JavaScript(出于我不熟悉的原因),Rhino 似乎可以识别 print()
评估表达式并将其打印出来的方法。结帐this documentation .
您可能会对这些链接感兴趣。
关于java - Javascript 中 Java 的 System.out.println() 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8733179/