web-dev-qa-db-ja.com

JavascriptでJavaのSystem.out.println()と同等のものは何ですか?

Javascriptコードのテストを書いていますが、コンパイルプロセス中にエラーが発生したときにメッセージをダンプする必要があります。

JavascriptにJavaのSystem.out.println()に相当するものはありますか?

P.S。:テストの実装中にデバッグステートメントをダンプする必要もあります。

[〜#〜] 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>
_

更新II

console.log("...")を試しましたが、次のようになります:

_js: "src/main/webapp/html/js/concat/tests_all.js", line 147:
uncaught JavaScript runtime exception: ReferenceError: "console" is not defined
_

私がテストしているコードは、一連の関数です(ライブラリーなど)。 QUnitを使用しています。

15

ブラウザにサポートコンソールがある場合、基本的に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単体テスト

23
Chris Wagner

私は解決策を見つけました:

print("My message here");
3

私はChromeおよびprint()を使用して、テキストを文字通り紙に印刷します。これは私のために働くものです:

document.write("My message");
3
George

console.log()

Chrome、Safari、およびIE 8+には組み込みのコンソールが付属しています(開発ツールのより大きなセットの一部として)。Firefoxを使用している場合は、 getfirebug.com

2
Matt Ball

私も同じ質問をしようとしています。しかし、以下のcodeacademy.comから学んだことから、出力またはテキストを表示するにはコードで十分ですか?

print("hello world")  
0
Iqbal

少なくとも1つはありません。ブラウザで何らかの「開発者」ツールを使用している場合を除きます。 FirefoxのFirebugまたはSafariの開発者ツール。その後、通常console.logを使用できます。

たとえば、iOSデバイスで何かをしている場合は、<div id="debug" />を追加してからログインします。

0
Matt H

In Java System.out.println()はコンソールに何かを出力します。javascriptでもconsole.log()を使用して同じことが実現できます。

F12キーを押して開発者ツールを開き、consoleタブに切り替えることで、ブラウザーコンソールを表示する必要があります。

0
Erikas

関数内のどこにでも単にalert()プロンプトをいつでも追加できます。関数が呼び出されたかどうか、関数が完了したか、関数が失敗したかを知るのに特に役立ちます。

alert('start of function x');
alert('end of function y');
alert('about to call function a');
alert('returned from function b');

あなたはアイデアを得る。

0