Рубрики
Без рубрики

Используйте Jest Написать блок тестирования для манипуляций DOM

Привет, я Кларк! Сегодня мы собираемся написать тестовый случай тестирования подразделения для манипуляций DOM. Если у нас есть … помечены тестированием, JavaScript.

Привет, я Кларк! Сегодня мы собираемся написать тестовый случай тестирования подразделения для манипуляций DOM.

Если у нас есть кусочный код HTML и JavaScript в одном index.html Файл, это список Todo:


  
    
    
    

    Умм … Этот список Todo дает людям вполне не знаю, как писать тестовый чехол, потому что этот код путает DOM с логикой JavaScript, поэтому, прежде всего, мы должны бы логику списка ToDo Control Dissemble от index.html. :

    
      
        
        
        

      О логике списка TODO Перейти к ToList.js файл:

      const addTodo = () => {
        const newTodoInput = document.getElementById('newTodo');
        let currentTodoList = document.getElementById('todoList').innerHTML;
        currentTodoList += `
    1. ${newTodoInput.value}
    2. `; document.getElementById('todoList').innerHTML = currentTodoList; newTodoInput.value = ''; } document.getElementById('addTodo').addEventListener('click', addTodo);

      Прямо, просмотр – это вид, логика логика, поэтому мы можем очень легко написать тестовый случай для JavaScript, но … У нас нет DOM, как вызвать Addtodo ? да! Итак, мы должны готовить Дом для тестового случая Addtodo Действительно

      Как упомянуть Документ шума :

      Jest Ships с JSDOM, который имитирует среду DOM, как если бы вы были в браузере. Это означает, что каждый DOM API, который мы звоним, можно наблюдать так же, как он будет наблюдаться в браузере!

      Таким образом, мы можем очень легко имитировать среду DOM при использовании Jest, начать установить шутку и запись теста!

      Установите jest в проекте (если у вас нет среды NPM или NODEJS, необходимо скачать узел, когда перед запуском):

      npm install jest
      

      Далее мы добавляем файл ToList.test.js и напишите тестовый случай:

      test('Check addTodo able add todo to todoList', () => {
      
      });
      

      Как известно выше названия тестового корпуса, я хочу тестировать функцию Addtodo Может быть настоящим добавить Todo к тодолисту.

      Я разделил тест на тест на три части:

      1. Мы должны выяснить, какие элементы это Addtodo нужно? Давайте посмотрим на ToList.js Сначала нам нужен кнопка идентификатора это Addtodo. мы будем добавлять событие щелчка Addtodo Для этого также нужен вход идентификатора это newtodo. , последний нам нужен ol идентификатора это Тодолист Для отображения списка TODO.

        Да! Всего три элемента – Addtodo нужно! Нам не волнует другие элементы в HTML-файле, мы только готовим только для тестового случая:

      test('Check addTodo able add todo to todoList', () => {
        document.body.innerHTML = `
          
          
          
        `; });
        1. Использовать требуется Импорт ToList.js Файл Добавить логику на элементы чтения, у него есть логика Addtodo. Именно мы достигаем теста в тестовом случае тоже:
        test('Check addTodo able add todo to todoList', () => {
          document.body.innerHTML = `
            
            
            
          `; require('../todolist.js'); });
          1. Используйте селектор Получить элемент, пишите новое имя TODO вход и триггер Addtodo по кнопка Затем проверьте, если innerhtml ol Правильно Добавить новый Todo!
          test('Check addTodo able add todo to todoList', () => {
            document.body.innerHTML = `
              
              
              
            `; require('../todolist.js'); const newTodoInput = document.getElementById('newTodoInput'); const addTodoBtn = document.getElementById('addTodoBtn'); const todolist = document.getElementById('todoList'); newTodoInput.value = 'New todolist!'; addTodoBtn.click(); expect(todolist.innerHTML).toBe('
          1. New todolist!
          2. '); });

            Теперь мы закончим первый тестовый случай для ToList.js Действительно Давайте выполним проверку проверить, правильно ли логика:

            Спасибо, ребята, для чтения этого поста, если у вас есть какие-либо вопросы или выяснить, что муравьи неправильно в сообщении, пожалуйста, отправьте мне обсуждение! 😃

            С другой стороны, этот пост одновременного публикация в моем блоге: Jest |. Используйте Jest Написать блок тестирования для манипуляций DOM

            Оригинал: “https://dev.to/ms314006/use-jest-write-unit-testing-for-dom-manipulation-3n6c”