2013-05-08 3 views
15

В настоящее время я использую PhantomJS для запуска модульных тестов Javascript в рамках QUnit и Sinon на нашем сервере сборки.Модульное тестирование Javascript с V8

Но, PhantomJS использует JavaScriptCore с JIT-компилятором в качестве механизма Javascript. Вместо этого я хочу использовать движок V8, который используется в Google Chrome или Chakra, который используется в IE. Я хочу сделать это, потому что хочу проверить совместимость платформы с кодом.

Есть ли какие-либо популярные тестовые бегуны, такие как PhantomJS, которые используют эти двигатели?

ответ

11

Ближайший, о котором я могу думать, это Zombie.js, который является браузером без браузера, написанным на Javascript, который работает под Node.js.

Это не настоящий браузер в способе, которым обладает Phantom, поэтому вы не сможете сделать это с помощью Phantom, но поскольку он использует Node.js, он явно использует V8, поэтому он соответствует вашим критериям.

Но если вы действительно хотите протестировать все различные версии браузера, другой вариант - это, конечно, использовать настоящий браузер. Вам не нужно иметь видимый интерфейс для него; используйте инструмент Selenium или Sahi, который может запускать и запускать браузер из сценария и запускать его в виртуальной машине; вам даже не нужно даже смотреть на это. Это может быть не так быстро, как с помощью фантома, но это будет настоящим испытанием, которое, очевидно, что вы действительно заинтересованы.

[EDIT]
Стоит добавить примечание к этому ответу, потому что я недавно узнал о SlimerJS, который является проектом с открытым исходным кодом, целью которого является создание браузера, совместимого с PhantomJS, который использует движок Gecko. Опять же, это не совсем то, о чем просили в вопросе, но это в духе этого; здорово иметь еще один инструмент, облегчающий кросс-платформенное тестирование.

Смежные вопросы