程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如果定义了构造函数,py.test将跳过测试类

发布于2019-08-26 10:03     阅读(348)     评论(0)     点赞(26)     收藏(0)


我有跟随通过py.test运行的unittest代码。仅运行构造函数会在运行py.test -v -s时跳过整个类

收集0件/ 1跳过

任何人都可以向我解释py.test的这种行为吗?

我有兴趣了解py.test行为,我知道不需要构造函数。

谢谢,Zdenek

class TestClassName(object):
    def __init__(self):
       pass

    def setup_method(self, method):
       print "setup_method called"

    def teardown_method(self, method):
       print "teardown_method called"

    def test_a(self):
       print "test_a called"
       assert 1 == 1

    def test_b(self):
       print "test_b called"
       assert 1 == 1

解决方案


正如在Matti Lyra的回答中已经提到的那样py.test故意跳过具有构造函数的类。这样做的原因是类只是出于结构原因而在py.test中使用,并且没有任何固有的行为,而在实际编写代码时,没有.__init__()方法则相反且更为罕见因此在实践中,使用构造函数跳过类可能是所期望的,通常它只是一个碰巧具有冲突名称的类。

最后,py.test需要实例化该类才能执行测试。如果构造函数接受任何参数,它就无法实例化它,所以再次跳过是正确的事情。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/60213/f0ab480b07f4e49c6373/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

26 0
收藏该文
已收藏

评论内容:(最多支持255个字符)