2015-07-01 3 views
0

Я тестирование active сферу SystemCommission, я следующий тест:RSpec включает согласовань терпит неудачу с равными массивами

expected = [active, no_starting, no_ending] 
    expect(SystemCommission.active.map(&:id)).to include expected.map(&:id) 

он терпит неудачу с:

Failure/Error: expect(SystemCommission.active.map(&:id)).to include expected.map(&:id) 
     expected [1, 2, 3] to include [1, 2, 3] 

Я должен был использовать id потому что это не соответствует объектам.

любые подсказки?

ответ

1

Массива [1, 2, 3] не включает [1, 2, 3]

Чтобы сделать этот пропуск, он будет выглядеть примерно так: [1, 2, 3, [1, 2, 3]]

знак вашего массива:

expect(SystemCommission.active.map(&:id)).to include *expected.map(&:id)

0

Я полагал, что include параметров не является массив, но список элементов,

поэтому изменение теста:

expect(SystemCommission.active.map(&:id)).to include *expected.map(&:id) 

сделал трюк