Как написать сценарий жасмин для сценария ниже - PullRequest
0 голосов
/ 27 января 2020

У меня есть функция, которая принимает два параметра в качестве входных данных (каждый i / p является массивом объектов).

eliminateduplicate(arr1 , arr2) {
    const difference = [];
    arr1.forEach(el1 => {
      const el1IsPresentInArr2 = arr2.some(el2 => el2.title === el1.title);
      if (!el1IsPresentInArr2) {
        difference.push(el1);
      }
    });
    return difference;
  }

Я новичок в написании сценариев с жасмином. Как написать тестовый блок для этой функции? Я также получаю предупреждение в случае, если путь не выбран для условия «если».

1 Ответ

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

Вы можете начать читать https://jasmine.github.io/tutorials/your_first_suite.

Как только вы это сделаете, вы, вероятно, создадите набор тестов, который может выглядеть следующим образом. В конце он должен содержать тест для всех возможных типов комбинаций аргументов (включая граничные случаи), с которыми может вызываться ваша функция. Стиль Given-When-Then является необязательным, но он помогает в создании четко структурированных тестов.

describe('eliminateduplicate test suite', () => {

    it('#eliminateduplicate should return non-null array', () => {

        // given
        const arr = [...];  // define array

        // when
        const result = eliminateduplicate(arr, null); 

        // then
        expect(result).toBe(arr);
    });

    it('#eliminateduplicate should return array when both arrays are same', () => {

        // given
        const arr = [...];  // define array

        // when
        const result = eliminateduplicate(arr, arr); 

        // then
        expect(result).toBe(arr);
    });

    it('#eliminateduplicate should return array with unique elements only', () => {

        // given
        const arr1 = [...];  // define array arr1
        const arr2 = [...];  // define array arr2 

        // when
        const result = eliminateduplicate(arr1, arr2); 

        // then
        const expected = [...];  // define expected result
        expect(result).toEqual(expected);
    });

    ...

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...