Contract is a project mainly written in JavaScript, it's free.
"Programming by Contract" JavaScript framework
JS библиотека для отладки и контроля аргументов и результата работы функции
var f = Contract(functionToTest, {
args: {},
result: {},
log: function () {},
validators: {}
});
Первым аргументом задается функция, которую нужно будет проверят, а вторым — опции проверки, обратный вызов логгирования и именованные валидаторы.
В результате вернется прокси-функция, которую можно будет использовать так же как и обычную. Дизайн модуля предполагает использование как именованных функций, так и анонимных.