Что эквивалентно Java System.out.println() в Javascript?

Я пишу несколько тестов для кода Javascript, и мне нужно сбросить некоторые сообщения во время процесса компиляции при возникновении ошибок.

Есть ли эквивалент Java System.out.println() в JavaScript

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>

ОБНОВЛЕНИЕ 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.

7 ответов

Решение

По существу 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() метод оценки выражений и их распечатки. Оформить заказ этой документации.

Эти ссылки могут быть интересны для вас.

Быстрое и автоматическое тестирование

Модульные тесты JavaScript с QUnit

Я нашел решение:

print("My message here");

Я использую Chrome и print() буквально печатает текст на бумаге. Это то, что работает для меня:

document.write("My message");

console.log(),

Chrome, Safari и IE 8+ поставляются со встроенными консолями (как часть большего набора инструментов разработки). Если вы используете Firefox, http://getfirebug.com/.

По крайней мере, такого нет, если вы не используете какой-либо инструмент "разработчика" в своем браузере, например Firebug в Firefox или инструменты разработчика в Safari. Тогда вы можете обычно использовать console.log,

Если я что-то делаю, скажем, на устройстве iOS, я мог бы добавить <div id="debug" /> а затем войти в него.

Вы всегда можете просто добавить предупреждение () в любом месте функции. Особенно полезно знать, была ли вызвана функция, завершена ли функция или произошел ли сбой функции.

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

Вы поняли идею.

В яве System.out.println() печатает что-то на консоли. В JavaScript же может быть достигнуто с помощью console.log(),

Вам необходимо просмотреть консоль браузера, нажав F12 ключ, который открывает инструмент разработчика, а затем переключиться на console Вкладка.

Я также собираюсь задать тот же вопрос. Но из того, что я узнал из codeacademy.com ниже, кода достаточно, чтобы отобразить вывод или текст?

print("hello world")  
Другие вопросы по тегам