Я использую QUnit для майского тестирования, но я очень раздражен, поддерживая HTML-код прибора так, чтобы он точно отражал мой фактический HTML-код страницы (идентификатор, имена классов и т. Д.).Недавно я пересмотрел страницу, и мне было очень тяжело переходить и изменять все html в моих тестовых файлах QUnit.
Теперь я пытаюсь не допустить взаимодействия DOM с большинством функций js, кроме:например, при начальном событии JQuery.Таким образом, я могу просто использовать QUnit для тестирования функций, которые принимают входные данные и возвращают выходные данные без необходимости взаимодействовать с каким-либо html-кодом, а селен заботится о взаимодействии DOM.
Не нравится:
const convert_val = function(val) {
$('#id2').value(val + 1);
});
const trigger = function() {
$('.class').on('click', function() {
const value = $('#id1).value();
convert_val(value);
}
Как:
const trigger = function() {
$('.class').on('click', function() {
const value = $('#id1).value();
$('#id2').value(value + 1);
}
С первой версией я могу теперь просто протестировать convert_val
и позволить селену беспокоиться о trigger
, где, как и во второй версии, если я хочу протестировать convert_val
Я должен предоставить html qunit fixture.Итак, мой главный вопрос: кто-нибудь еще пытается избежать qunit fixture html / есть ли лучший способ избежать необходимости поддерживать два набора html?