Как запустить юнит-тесты во всех браузерах? - PullRequest
46 голосов
/ 21 апреля 2011

Я никогда не использовал Selenium, но думаю, что он предназначен для имитации взаимодействия с пользователем во всех браузерах.

Это похоже на интеграционные тесты.

Но как вы тестируете свои библиотеки / фреймворки js?тестирование) на всех браузерах в автоматическом режиме?

Ответы [ 14 ]

3 голосов
/ 03 июня 2011

Я бы пошел на QUnit , который использует jQuery.Я запускал его на многих настольных браузерах, а также на iPhone и телефонах Android.

Есть несколько замечательных учебных пособий , и его можно легко интегрировать с такими вещами, как js-test-водитель .QUnit смоделирован после JUnit и всех других платформ тестирования xUnit (например, PHPUnit), поэтому легко подобрать API.

Основной синтаксис выглядит следующим образом:

test("my first test", function() {
  var str = "hello";
  equals( "hello", str, "Should be hello" );
});

Также выглядитдовольно мило:

QUnit screenshot

3 голосов
/ 24 апреля 2011

Как уже говорили люди, вам следует использовать JsTestDriver. У него есть собственная тестовая система, но вы можете использовать другие тестовые библиотеки, например, Jasmine (http://pivotal.github.com/jasmine/). Вы можете найти список адаптеров для JsTestDriver здесь: http://code.google.com/p/js-test-driver/wiki/XUnitCompatibility

2 голосов
/ 30 сентября 2011

Есть несколько компаний, которые специализируются на кросс-браузерном тестировании.

http://browserling.com/

http://www.browserstack.com/

http://saucelabs.com/ (уже упоминалось здесь)

http://browsershots.org/

http://www.browsercam.com/

http://browserseal.com/

Используйте любую нужную вам тестовую библиотеку.

1 голос
/ 25 мая 2014

Selenium или SauceLabs и т. Д. Не являются модульными тестами.Это функциональные решения для тестирования интеграции.

Вам необходимо абстрагировать ваше внешнее использование, такое как DOM, в javascript для модульного тестирования.

Напишите свои тесты, чтобы они могли использовать любую внешнюю библиотеку, такую ​​как jquery, по конфигурации.Таким образом, вы можете модульно протестировать свою логику, не касаясь каких-либо внешних факторов, а также можете протестировать кросс-браузерное тестирование.

...