Какая инфраструктура тестирования для Javascript поддерживает Тестирование без браузера? - PullRequest
8 голосов
/ 10 июля 2009

Для Javascript существуют некоторые среды тестирования, такие как JSUnit или js-test-driver. Они в порядке, но они запускают тесты в браузере. Это нормально, особенно чтобы убедиться, что ваше веб-приложение работает в разных браузерах. Но на нашем сервере непрерывной интеграции нет оконной системы (и нет браузера). Так есть ли способ запустить тесты без использования браузера? Лучше всего использовать одну из существующих платформ, чтобы разработчики могли локально запускать тесты в своих браузерах, а система непрерывной интеграции запускает их без браузера.

Ответы [ 6 ]

1 голос
/ 04 марта 2011

Взгляните на следующие статьи:

Кроме того, у нас есть сервер jsTestDriver, работающий с парой веб-браузеров (в качестве удаленных консольных исполнителей) в качестве ресурса для Jenkins, поэтому вы можете использовать CI для тестирования в веб-браузерах.

1 голос
/ 15 июля 2009

Вас может заинтересовать HtmlUnit , который используется несколькими средами тестирования пользовательского интерфейса, такими как WebDriver

1 голос
/ 10 июля 2009

jsTest может быть запущена из командной строки или в виде плагина Eclipse.

Однако будьте осторожны, вы не получите 100% покрытия кода при использовании такого инструмента, как этот, если вам нужно поддерживать несколько браузеров. Каждый браузер реализует JavaScript по-своему (т. Е. IE). Поэтому единственный способ полностью протестировать ваш JavaScript - это запустить тесты во всех поддерживаемых вами браузерах.

0 голосов
/ 03 марта 2011

Жасмин будет довольно счастливо бегать внутри node.js.

0 голосов
/ 25 августа 2009

JSpec можно запустить без браузера (используя Rhino). Но также поддерживает запуск в браузерах.

http://visionmedia.github.com/jspec/

Он также предоставляет хороший синтаксис стиля спецификации:

describe 'ShoppingCart'   
  describe 'addProduct'   
    it 'should add a product'  
      cart.addProduct('cookie') 
      cart.addProduct('icecream') 
      cart.should.have 2, 'products'   
    end   
  end 
end

Запустив все свои модульные тесты за пределами браузера, вы также получите преимущества от отделения вашей логики от уровня HTML / представления (полезно для веб-приложений, возможно, избыточно для небольших скриптов).

0 голосов
/ 10 июля 2009

Я считаю, что Canoo WebTest можно запустить без браузера. По сути, это среда тестирования внешнего интерфейса, но ее также можно использовать для тестирования JavaScript:

http://webtest.canoo.com/

...