В F # я хочу выполнить модульное тестирование функции с несколькими уровнями вложенных функций. Я хочу также иметь возможность тестировать вложенные функции по отдельности, но я не знаю, как их вызывать. При отладке каждая из этих вложенных функций вызывается как тип функционального объекта, но я не знаю, могу ли я получить к ним доступ во время компиляции.
Я не хочу менять схему вложенности, которую я использую, потому что с функциональной точки зрения наиболее целесообразно вкладывать их таким образом, потому что де-факто существует «наследование» некоторых параметров функции на каждом уровне вложенности.
Возможно ли что-то подобное? Если нет, какова общая процедура модульного тестирования вложенных функций? Проверяются ли они по отдельности с дополнительными параметрами, а затем вставляются в свои вложенные послесловия, чтобы их больше никогда не можно было протестировать?
Очень маленький пример:
let range a b =
let lower = ceil a |> int
let upper = floor b |> int
if lower > upper then
Seq.empty
else
seq{ for i in lower..upper -> i}
Как я могу проверить правильность работы lower
или upper
без изменения вложенности кода?
range
работает правильно, не могли бы вы предположить, чтоlower
иupper
тоже работают? - person Daniel   schedule 01.06.2012ceil
иfloor
. Они являются частью стандартной библиотеки. Не нужно тестировать его на своей стороне. - person Aleš Roubíček   schedule 05.06.2012