Что эквивалентно Java System.out.println() в Javascript?
Я пишу несколько тестов для кода Javascript, и мне нужно сбрасывать некоторые сообщения во время процесса компиляции, когда встречаются ошибки.
Есть ли какой-либо эквивалент Java System.out.println()
в Javascript?
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.
Ответы
Ответ 1
По существу 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 и автоматическое тестирование
Тесты блока JavaScript с помощью QUnit
Ответ 2
Я нашел решение:
print("My message here");
Ответ 3
Я использую Chrome и print() буквально печатает текст на бумаге. Это то, что работает для меня:
document.write("My message");
Ответ 4
console.log()
.
Chrome, Safari и IE 8+ поставляются со встроенными консолями (как часть большого набора средств разработки). Если вы используете Firefox, getfirebug.com.
Ответ 5
Нет, по крайней мере, нет, если вы не используете какой-либо инструмент разработчика в своем браузере, например. Firebug в Firefox или инструменты разработчика в Safari. Тогда вы обычно можете использовать console.log
.
Если я что-то делаю, например, в iOS-устройстве, я могу добавить <div id="debug" />
, а затем зайти в него.
Ответ 6
Вы всегда можете просто добавить приглашение alert() в любом месте функции. Особенно полезно знать, вызвана ли функция, если функция завершена или функция не работает.
alert('start of function x');
alert('end of function y');
alert('about to call function a');
alert('returned from function b');
Вы получаете идею.
Ответ 7
Я тоже собираюсь задать тот же вопрос. Но из того, что я узнал из codeacademy.com, ниже кода достаточно, чтобы отобразить вывод или текст?
print("hello world")
Ответ 8
В java System.out.println()
что-то выводит на консоль. В javascript то же самое может быть достигнуто с помощью console.log()
.
Вам необходимо просмотреть консоль браузера, нажав клавишу F12
которая открывает инструмент разработчика, а затем переключиться на вкладку console
.