×Закрыть

Существуют ли юнит-тесты для проверки html-кода?

Доброго дня, уважаемые гуру веба. подскажите, пожалуйста, есть ли какие-то аналоги юнит-тестирования для разметки сайта?

Зачем это нужно: чтобы проверить соблюдается ли бизнес-логика. допустим мне как заказчику нужно чтобы на странице было ровно шесть элементов article и это требование никакой валидатор не проверит. в других языках это автоматически проверяются юнит-тестами, а вот как для хтмл это реализуется непонятно

Как я понимаю валидатор для хтмл тоже, что компилятор для джавы, си и прочего. валидатор может проверить лишь соблюдение общих правил, но не бизнес-логику конкретного проекта.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

React + jsdom + mocha + chai
Рендерим компонент любого уровня(от страницы до модалки) в jsdom, проверяем что хотим.
scryRenderedDOMComponentsWithTag например, проверяем length
facebook.github.io/...eact/docs/test-utils.html

Подойдут любые js юнит тесты, у вас же просто работа с DOM объектами. А для пиксель перфеката можете заюзать gemini.

если правильно понял, вам нужно по XPath проверять наличие элементов, при необходимости — считать количество и т.д.
Написать тест можно на js или любом другом языке.

Можно и JQuery, для простых случаев. Точнее, для простых случаев нужно использовать CSS-селекторы, по-возможности (не важно, JQuery или что-то другое). А вот использовать здесь просто так xpath count не вижу смысла.

Разве это не acceptance testing? Можно просто проверить с помощью mocha, chai и JQuery:

context("when user visits blog page", function() {
  it("should display exactly 6 articles", function() {
    visit('/blog');
    expect($('article').length).to.equal(6);
  });
});

Cucumber, Capybara, RSpec, PhantomJS и

acceptance testing
как сказали выше :)

или есть еще qunitjs.com ... например в Ember.js они по дефолту

Как-то вообще не очень мне QUnit. Привык к RSpec, поэтому выпилил qunit из ембер, и заменил на мокку.

Это да, поэтому Mocha+Chai роднее если пользовался RSpec ... Просто один из вариантов — в эмбере он хорошо прикручен (хотя уже и там можно переключаться на Mocha)

Вообще все реализации xUnit для любых языков после RSpec вызывают печаль и тоску

Есть аддон ember-mocha, он даже генераторы свои прописывает. Нужно только вручную почистить зависимости и отрефакторить тесты (они довольно таки совместимы). Поэтому, qunit можно и нужно смело выпиливать в первую очередь)

github.com/...witchfly/ember-cli-mocha сейчас вроде даже позволяет руками ничего и не чистить ... с понедельника фронтенд начинаю на эмбере — посмотрю как прикрутится

Я ошибся, именно о ember-cli-mocha и говорил)

Подписаться на комментарии