Python是否有首选的BDD样式单元测试框架?

Python是否有首选的BDD样式单元测试框架?,第1张

概述我想知道是否有任何BDD风格的’describe-it’单元测试框架,用于维护和生产就绪.我找到了 describe,但似乎没有维护,也没有文档.我还发现 sure达到1.0,但它似乎只是添加语法糖而不是写断言.我真正想要的是与RSpec和Jasmine类似的东西,使我能够设置测试套件. describe-it语法允许测试函数的多个案例.与经典的断言结构相比,它可以测试每个函数一次并具有多个断言来 我想知道是否有任何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/).

总结

以上是内存溢出为你收集整理的Python是否有首选的BDD样式单元测试框架?全部内容,希望文章能够帮你解决Python是否有首选的BDD样式单元测试框架?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存