行为驱动的规范和验证库
lancelot的Python项目详细描述
Lancelot允许指定和验证类和函数行为 使用类似dsl的语法,例如:
@verifiable def can_peek_and_pop_after_push(): spec = Spec(Stack, given=new_stack) spec.when(spec.push(value='a')) spec.then(spec.peek()).should_be('a') spec.then(spec.pop()).should_be('a') spec.then(spec.peek()).should_raise(IndexError) spec.then(spec.pop()).should_raise(IndexError)