Python是否有首选的BDD样式单元测试框架?
发布时间:2020-12-20 13:42:47 所属栏目:Python 来源:网络整理
导读:我想知道是否有任何BDD风格的’describe-it’单元测试框架,用于维护和生产就绪.我找到了 describe,但似乎没有维护,也没有文档.我还发现 sure达到1.0,但它似乎只是添加语法糖而不是写断言.我真正想要的是与RSpec和Jasmine类似的东西,使我能够设置测试套件. de
我想知道是否有任何BDD风格的’describe-it’单元测试框架,用于维护和生产就绪.我找到了
describe,但似乎没有维护,也没有文档.我还发现
sure达到1.0,但它似乎只是添加语法糖而不是写断言.我真正想要的是与RSpec和Jasmine类似的东西,使我能够设置测试套件. describe-it语法允许测试函数的多个案例.与经典的断言结构相比,它可以测试每个函数一次并具有多个断言来测试多个案例.这打破了单元测试的隔离.如果有一种方法可以实现与断言式测试类似的东西,我会很感激有关如何做到这一点的任何建议.以下是两种风格的简单示例:
foo.py class Foo(): def bar(self,x): return x + 1 BDD风格/描述,它 test_foo.py describe Foo: describe self.bar: before_each: f = Foo() it 'returns 1 more than its arguments value': expect f.bar(3) == 4 it 'raises an error if no argument is passed in': expect f.bar() raiseError 单元测试/断言风格 test_foo.py class Foo(): def test_bar(x): x = 3 self.assertEqual(4) x = None self.assertRaises(Error) 解决方法
如果你在Python中期待与rspec / capybara完全相同的东西,那么恐怕你会感到失望.问题是ruby为你提供了比python更多的自由(对开放类和广泛的元编程有更多的支持).我不得不说python和ruby哲学之间存在根本区别.
如果你正在寻找纯粹的python解决方案,还有一些很好的测试框架,如Cucumber(https://github.com/cucumber/cucumber/wiki/Python)和生菜(http://lettuce.it/). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |