微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

缺少测试覆盖率 pytest python 类

如何解决缺少测试覆盖率 pytest python 类

我正在使用 pytest --cov 测试我的代码,但我的一个模块的覆盖率为 0%。

该模块有一个类声明,如下所示:

class DataBaseMaker:
    @staticmethod
    def create_database():
        conn = sqlite3.connect("database.db")
        
    def __init__(self):
        self.foo = 'bar'
        

测试执行以下操作:

def test_create_database():
    DataBaseMaker.create_database()
    assert Path("database.db").is_file()

对此的测试覆盖率为 0% - 我在这里做错了什么?

解决方法

我能够找出问题所在。这与代码本身无关,而是与我对 pytest 的调用有关。我做了 pytest --cov *projectname* 其中 projectname 也是项目所在文件夹的名称。我想我是从 pytest 文档中得到的?不确定。

解决方案:我运行了 pytest --cov .,果然我的类现在有 100% 的覆盖率。如果有人对这种行为有解释,我很乐意学习。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。