基于stdlib单元测试的行为驱动开发(bdd)框架

python-specfor的Python项目详细描述


它的灵感来源于ruby的rspec。 规范定义基于python decorator描述。

功能

  • 基于python decorator的“spec”定义
  • “spec”定义与unittest.TestCase
  • 兼容
  • 规范文件可以使用unittestnosetests
  • 执行
  • 类rspec期望(例如the[xxx].should.be[yyy]
  • 基于decorator的“mock”对象定义
  • 所有功能都可以独立使用:例如,使用spec和nose.tools
  • 从规范文件中标记文档生成器
  • 多python版本的单代码实现(2.5-2.7,3.1)

规范示例

# examples/sum_spec.py
from specfor import the, spec

empty_list = spec.of("empty list")
int_list = spec.of("int list")

@empty_list.before()
def prepare(its):
    its.list = []
    its.sum = 0

@int_list.before()
def prepare(its):
    its.list = [2, 3, 5, 7, 11]
    its.sum = 28

@empty_list.that("sum")
@int_list.that("sum")
def sum_spec(its):
    result = sum(its.list)
    the[result].should == its.sum

spec.publish(globals())

有关详细信息,请参见README.md

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java什么是OSGiDB访问的高级体系结构布局?   java如何使用控制台从文件夹中选择任何文件?   安卓对Java服务器的语言支持在过去3分钟内崩溃了5次。服务器将不会重新启动   捕获java异常不需要抛出,但IOException需要抛出   java在计时器运行一次后停止计时器   更新查询中的java双引号   java如何将一串数字、空格和逗号更改为整数数组列表   swing jTable paint()导致了java。lang.OutOfMemoryError:Java堆空间   java将其翻译成英语   java我可以重定向到另一个网页中的网页吗?   java如何在hibernate中将2个子类映射为1父抽象类?   将PDF页面导出到Java中的一系列图像   java使用hashmaps填充ArrayList   无法在Java上识别Java版本。通用域名格式   java想要使用可滚动的JTextArea,但它不起作用   java如何将字符串的值四舍五入到小数点后2位   java如何对点进行缩放?   从MongoDB Java文档的内部数组中获取值