2015-05-08 3 views
2

Недавно я начал использовать QUnit для проверки клиентской части веб-страницы.Как изменить qunit theme/layout

У меня есть две проблемы с макетом по умолчанию, который поставляется с QUnit. (См. Изображение) QUnitLayout

1: Все неудачные тесты расходуются по умолчанию. Я бы хотел, чтобы они рухнули по умолчанию.

2: Я хотел бы иметь выпадающий список для фильтрации теста по модулю.

Тема на этой следующей веб-странице не имеет этих проблем. http://bryce.io/qunit-theme-burce/test/

Вот страница "установить" эту тему. https://github.com/brycedorn/qunit-theme-burce Step to install

Однако я не могу заставить его работать. Наверное, потому что я не понимаю первый шаг установки. Но делать второй и третий было легко.

Я связываю тему css на веб-странице и удаляю базовую, но это не работает.
< ссылка отн = "таблица стилей" HREF = "/ содержание/Test/QUnit-тема-burce.css" />
Когда я использую этот стиль листа, < DIV ID = "QUnit-арматуре"> не скрыт и тест не отображаются.

Как я могу заставить это работать, чтобы исправить мои две проблемы с базовым макетом?

+0

С ответом Сергея, я обнаружил, что он не работает, потому что содержимое, которое у меня было в файле «qunit-theme-burce.css», было совершенно неверным. Это было совсем не css. Я перезагрузил правильный файл. – AXMIM

ответ

2

Чтобы установить QUnit собственную тему вы указывали, поставить следующие теги на тестовой странице:

<!-- theme styles --> 
<link rel="stylesheet" href="path/to/qunit-theme-burce.css"> 

<!-- qunit source code --> 
<script src="path/to/qunit.js"></script> 

<script> 
    function getPreviousTests(rTestName, rModuleName) { 
    // copy this function from https://github.com/brycedorn/qunit-theme-burce/blob/master/test/test.js 
    } 
</script> 

Но в вашем случае не требуется эта специальная тема.

Чтобы скрыть не прошел тест можно использовать QUnit.testDone метод:

<script> 
    QUnit.testDone(function(args){ 
     if(args.failed) { 
      document.querySelector("#qunit-test-output-" + args.testId + " .qunit-assert-list").className += " qunit-collapsed"; 
     } 
    }); 
    </script> 

Кроме того, вы можете решить второй вопрос, если вы обновите версию до последней (1.18.0) QUnit. В этом модуле версии модуля работает «из коробки».

+0

QUnit.testDone сделал трюк, чтобы свернуть все неудачные тесты. Я использовал $ ('. Fail .qunit-assert-list'). AddClass ('qunit-collapsed'); – AXMIM

+0

Также спасибо за то, что указали, что моя версия QUnit также не была актуальна. Обновление моей версии добавило отсутствующий «Фильтр модуля». – AXMIM

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