Как проверить / смоделировать следующее: - PullRequest
0 голосов
/ 28 января 2019

вот что у меня есть для file.js Как я могу высмеять следующее и выполнить модульное тестирование: спасибо

var dataset = document.getElementById('test') ? 
document.getElementById('test').dataset : {};
export const SERVICE_URL = 'http://localhost:/';

Использование JEST / EZNYME для REACTJS - что-то подобноестроки: file.test.js

const mockTrue = {SERVICE_URL};

describe ( " Service URL ", () =>{
 it ( ' should output ', () => {
expect(mockTrue).toBeCalled('http://localhost:xxxxxxx/');
});

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Тестирование набора данных

Вы не сможете проверить обе ветви троичного условия с текущей реализацией.

Это потому, что значение для набора данных будет разрешено в тот момент, когда вы его импортируете.Позже невозможно выполнить операции, чтобы добавить элемент с id=test и надеяться, что значение будет обновлено.

Чтобы получить 100% -ное покрытие по этому вопросу, вместо этого необходимо экспортировать функцию:

export function getDataSet(){
  return document.getElementById('test') 
    ? document.getElementById('test').dataset 
    : {};
} 

, что делает этот тестируемым.

Тестирование SERVICE_URL

Как уже упоминали другие стипендиаты, вы не можете сделать лучше, чем

expect(SERVICE_URL).toBe('http://localhost:/');

Проверка постоянных значений - это просто проверка ради этого.Помимо того, что эта константа не изменяется без "ты уверен?"флаг, это не имеет никакого значения.

Некоторые комментарии

Достижение 100% покрытия тестами - это утопия, которая приводит к развитию хрупких тестов.Этот пуризм оказывает вам плохую услугу.

Если вы действительно хотите получить эти блестящие 100%, предпочтительно удалить фиктивный код из тестового покрытия.

0 голосов
/ 28 января 2019

Попробуйте, это должно подтвердить, что ваш SERVICE_URL содержит ожидаемое вами значение:

describe ( " Service URL ", () =>{
    it ( ' should output ', () => {
        expect(SERVICE_URL).toBe('http://localhost:/');
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...