Утверждение значений, содержащихся в массивах Javascript, с использованием Mocha и Chai - PullRequest
0 голосов
/ 14 декабря 2018

Что является хорошим / оптимальным способом утверждения значений, содержащихся в массиве, импортированном в набор тестов, с учетом следующего кода (который явно не работает:)

it('Grant all email phone perms', async() => {
  const vals = await doSomeStuff(page, frame);

  expect(vals[0]).to.equal('option| 1');
  expect(vals[1]).to.equal('option| 2');
  expect(vals[2]).to.equal('option| 3');
  expect(vals[3]).to.equal('option| 4');

});

Где во время выполнения я вижу vals содержит:

vals: Object{val1: "option|1", val2: "option|2", val3: "option|3", val4: "option|4"}

Я уверен, что это основные вещи, но я простоучусь!

Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

В качестве альтернативы мы также можем использовать eql, который короче deep.equal

expect(vals).to.eql({val1: "option|1", val2: "option|2", val3: "option|3", val4: "option|4"})

Ссылка: https://www.chaijs.com/api/bdd/#method_eql

0 голосов
/ 14 декабря 2018

Если вы точно знаете, как должен выглядеть результат, вы можете использовать глубокое равенство.

expect(vals).to.deep.equal({val1: "option|1", val2: "option|2", val3: "option|3", val4: "option|4"})

Также похоже, что ваши данные - это объект, а не массив.Но глубокое равенство прекрасно работает и для массивов

...