RSpec: утверждать, что макеты верны - PullRequest
0 голосов
/ 17 ноября 2018

При написании тестов RSpec я часто замечаю различные функции в базе кода.Тем не менее, похоже, что нет ничего, что могло бы предотвратить случайный насмешку над функциями неправильно, и я хотел бы применить это как-то .

Для конкретного примера, скажем,У меня есть функция, которую я тестирую:

def function_under_test
  some_function(a: 1, b: 2, c: 3)
end

def some_function(a:, b:, c:)
  { a: a, b: [b, b, b], c: { a: 1, b: 2, c: 3 } }
end

И тест для нее

it 'should return the correct result' do
  subject = function_under_test
  expect(some_function).to_return(1)
  expect(subject).to eq(1)
end

Я полностью изменил интерфейс функции, но мой тест все еще прошел.Мне нравится, как просто писать макеты, но было бы здорово иметь возможность убедиться, что макеты, которые я пишу, соответствуют интерфейсу, предоставляемому функцией.Есть ли способ сделать это?Я в порядке с включением примеров, или общих контекстов, или чего-то еще, пока это выполняет то, что мне нужно.

Заранее спасибо!

1 Ответ

0 голосов
/ 17 ноября 2018

Именованные параметры должны иметь значение, вызов some_function без параметров вызовет исключение.

Таким образом, ruby ​​уже проверяет, что вы передаете значения для a, b и c параметры (кроме случаев, когда вы определяете значения по умолчанию)

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