安装notests和插件以简化bdd单元规范

specloud的Python项目详细描述


specloud

使用nosetest和插件来简化bdd规范。

安装

安装specloud最简单的方法是使用pip和需求文件:

$ pip install specloud

用法

获取一个带有bdd样式测试名称的python文件(以它开头、确保、应该、必须、规范、示例、deve),并将它们添加到测试套件中

例如:

$ cat example.py

import unittest


class CalculatorSpec(unittest.TestCase):

    def it_should_sum_integers(self):
        # ...
        pass

    def should_not_divide_by_zero(self):
        # ...
        pass

    def must_accept_floats(self):
        # ...
        pass

    def ensure_it_work_with_fractions(self):
        # ...
        pass

    def test_subtract_positive_from_negative_numbers(self):
        # ...
        pass

    def deve_calcular_raizes_quadradas(self):
        # ...
        pass

命令行工具specloudgreen着色为没有失败和错误的测试,red着色为有失败和/或错误的测试:

$ specloud example.py

Calculator spec
- ensure it work with fractions
- it should sum integers
- must accept floats
- should not divide by zero
- subtract positive from negative numbers
- deve calcular raizes quadradas

----------------------------------------------------------------------
Ran 6 tests in 0.003s

OK

工作原理

specloud是一个python包,它安装了nosepinocchiofigleaf包,因此它可以用pinocchiofigleaf插件调用nosetests。使用一些默认选项调用nosetests来查找测试方法,并使用pinocchio来显示漂亮的彩色消息。菲格里夫只是皮诺奇的依赖。

呼叫:

$ specloud FILE

做同样的事:

$ nosetests -i '^(it|ensure|must|should|specs?|examples?|deve)' -i '(specs?(.py)?|examples?(.py)?)$' '--with-spec' '--spec-color'

旧名

这个项目是作为一个概念的证明而诞生的,我首先将它命名为pyunitbdd。但那是个可怕的名字。所以我将项目重命名为specloud。

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

推荐PyPI第三方库


热门话题
如果SQL server执行计划是流式传输数据,那么调用next()时Java ResultSet对象将如何反应?   java为什么水平滚动条永远不会出现在JTable上?   java如何在Android项目中添加SDK模块   绿脚:爪哇。lang.ClassCastException:无法将障碍物投射到球投射物   xslt需要在Java1.4.2中使用SaxonB(版本9.1.0.8)方面的帮助   java Apache HTTP客户端下载SOAP响应的一部分   为Java 9计划的“过滤传入序列化数据”解决了数据反序列化安全漏洞吗?   java如何使用drools对列表中的元素进行分组   java从匿名类到lambda表达式   Java中是否有不可变的单链表实现?   java动态添加按钮以滚动查看安卓   java GAE:无法为模块http请求设置管理员登录凭据   java如何在Hibernate 5 CriteriaBuilder中使用条件条件获取计数   java如何将JSON+HAL响应解析为POJO   java如何获取计算器程序,对两个以上的数字进行加、减、乘、除   java Thymeleaf+静态资源+@ResponseBody