При написании тестов 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
Я полностью изменил интерфейс функции, но мой тест все еще прошел.Мне нравится, как просто писать макеты, но было бы здорово иметь возможность убедиться, что макеты, которые я пишу, соответствуют интерфейсу, предоставляемому функцией.Есть ли способ сделать это?Я в порядке с включением примеров, или общих контекстов, или чего-то еще, пока это выполняет то, что мне нужно.
Заранее спасибо!