Jér*_*nge 15 javascript java compile-time println system.out
我正在为Javascript代码编写一些测试,我需要在遇到错误时在编译过程中转储一些消息.
System.out.println()在Javascript中有没有相当于Java的东西?
PS:我还需要在实现测试时转储调试语句.
UPDATE
我在包含所有合并测试的文件上使用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>
Run Code Online (Sandbox Code Playgroud)
更新II
我试过了console.log("..."),但我明白了:
js: "src/main/webapp/html/js/concat/tests_all.js", line 147:
uncaught JavaScript runtime exception: ReferenceError: "console" is not defined
Run Code Online (Sandbox Code Playgroud)
我正在测试的代码是一组函数(比如在库中).我正在使用QUnit.
Chr*_*ner 23
基本上,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()评估表达式并将其打印出来的方法.查看此文档.
您可能会对这些链接感兴趣.