Что эквивалентно 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()
метод оценки выражений и их распечатки. Оформить заказ этой документации.
Эти ссылки могут быть интересны для вас.
Я использую 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")