Несоответствие для ReSharper это помощью QUnit тестов
Я хотел бы использовать встроенный QUnit Test runner Resharper (8.0.2), но есть некоторые различия при запуске теста непосредственно в браузере против запуска его в браузере с помощью R# runner:
-
Как указано здесь, элемент fixture не добавляется, что необходимо для тестов, связанных с UI. Как описано в ответе, она может быть решена путем ручного добавления элемента в модуль setup + teardown methods.
Что приводит меня к следующему выпуск:
Resharper только регознает обезличенное
setup
иteardown
, а не их замены (beforeEach
иafterEach
):
Примечание об устаревании: beforeEach и afterEach были ранее названы setup и teardown, которые все еще существуют и будут удалены в QUnit 2.0.0.
module("Tests for DOM manipulation", {
beforeEach: function () { // never called in the R# runner
$("body").append('<div id="qunit-fixture" />');
}
});
test('finding qunit-fixture element', function(){
var elementCount = $('#qunit-fixture').length;
ok(elementCount, 1);
});
Наконец, функция обратного вызова test()
не возвращает объект assert
, т. е.
test('foo', function(assert){
var done = asssert.async(); // assert is undefined in R# qunit runner
setTimeout(function (){
ok(1 === 1);
done();
}, 500);
});
Есть ли способ заставить R# вести себя больше как " родной кунит" тестовая реализация?
1 ответ:
Я не уверен, что это именно то, как вы хотите, чтобы это работало, но я хотел запустить более новую версию QUnit, чем та, которая поставляется в комплекте с R#.
Самым простым решением было включить QUnit-1.17.1 в мой проект, а в верхней части моего тестового файла JavaScript включить:
/// <reference path="../lib/qunit-1.17.1.js" />
Этот файл будет включен перед остальной частью скрипта, поэтому он будет по существу перезаписывать существующее определение QUnit, предоставленное R#.
Могут возникнуть проблемы со столкновениями, но мне удалось заставить это работать:
/// <reference path="../lib/qunit-1.17.1.js" /> QUnit.test('this is my test', function(assert) { assert.equal(1, 1); });
Тест успешно выполняется с помощью обычного R# тестового бегуна.
Чтобы уточнить, путь ../ lib / qunit-1.17.1.js - это расположение файла относительно теста.файл js.