Javascript中相当于Java的System.out.println()?

JérômeVerstrynge:

我正在为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。

克里斯·瓦格纳(Chris Wagner):

本质上,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()评估表达式并将其打印出来的方法。查看此文档

这些链接可能会让您感兴趣。

QUnit和自动化测试

QUnit的JavaScript单元测试

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章