Shshzik
@Shshzik
Начинающий

Как тестировать уже написанный сайт?

Пишу сайт. Типичный интернет магазин. Добавление товара, мини корзина и корзина. Без каких-либо fraimwork'ов. Тупо нативный. Всё в одном файлике. Вообщем как настоящий тру разраб XD. В определенный момент всё работает, но клиент хочет немного расширить и изменить функционал. Дописываю пару функция и... ничего не работает. Ну тоесть часть работает, часть работает, часть работает не так или не там. До этого тесты не писали и как вообще пишутся не представляю. И мне говорят - надо было писать тесты на свой JS что бы смотреть что работает, а что нет. И вот вопрос - как это можно сделать уже на работающем сайте? Все файлы на серве, БД там же. Смотрел - надо было писать с одной из методологий BDD или TDD. И пользоваться различными fraimwork'ами для этого. mocha для описания, jusmine или chai для тестов, karma для запуска тестов в консоли. Хорошо, но как всё это прикрепить к сайту и моим функциям? Есть класс, он инициализируется если например есть определенный класс на странице.

function Class(){
  tihs._data = {
    text: 'Нажал'
  }
  this.init();
}

Class.prototype.init = function(){
  var btns = document.querySelectorAll('.btns');
  if(!!btns.length){
    for(var i = 0; i < btns.length; i++){
      btns[i].onclick = this.btn_click();
    }
  }
}

Class.prototype.btn_click = function(){
  return function(ev){
    console.info(this._data.text);
  }.bind(this)
}


Это примерный код, какой я пишу для своих целей. Он бывает наследуется, бывает расширяется. Но всё это так или иначе взаимодействует с DOM. И как это тестировать? Да еще и если сайт уже выложен?
Обобщая:
1) Можно ли проводить тесты с таким кодом, который написан в одном файле и близко взаимодействие с DOM?
2) Если нет, то нужно ли всё это переписать в модули? Где-то читал, что не плохо использовать модульный подход с помощью, например, require.js. Я им пользовался, интересная штука.
3) Если нельзя такое как у меня тестировать, то как нужно мне писать мою логику сайта, что бы была возможность тестировать?
  • Вопрос задан
  • 387 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Тесты можно проводить с ЛЮБЫМ кодом.
Алгоритм простой: действие->результат->сравнение ожидания и результата->заключение.
Советую Кошмаром кошмарить..... ( www.nightmarejs.org )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы