Как вы относитесь к блочному тестированию javascript, который использует и изменяет DOM?
Я приведу простой пример. Валидатор формы, который проверяет пустое текстовое поле, написанное на javascript и использующее JQuery.
function Validator() {
this.isBlank = function(id) {
if ($(id).val() == '') {
return true;
} else {
return false;
}
};
this.validate = function(inputs) {
var errors = false;
for (var field in inputs) {
if (this.isBlank(inputs[field])) {
errors = true;
break;
}
}
return errors;
};
}
Использование:
var validator = new Validator();
var fields = { field_1 : '#username', field_2 : '#email' };
if (!validator.validate(fields)) {
console.log('validation failed');
} else {
console.log('validation passed');
}
Какова наилучшая практика для попытки сделать unit test что-то вроде этого?