亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將覆蓋率和 codecov.io 與 pytest 單元測試和自定義內聯測試結合使用

將覆蓋率和 codecov.io 與 pytest 單元測試和自定義內聯測試結合使用

海綿寶寶撒 2022-09-13 17:36:52
我的一個Python項目的代碼庫包含許多測試。這些測試足夠廣泛和寬敞,我稱之為“穩健”。我想知道它們到底有多強大,所以我設置了 coverage.py 工具,以及一個 codecov.io 帳戶。該項目有兩種類型的測試:一套單元測試,從一開始就用pytest運行 - 即沒有基于傳統的測試,并且夾具和鉤子被大量利用。unittestpytest每個模塊的內聯測試功能套件,使用簡單的定制測試運行程序編寫。這些看起來都是這樣的:# -*- coding: utf-8 -*-import sys # …etc# ?module code?def test():        from clu.testing.utils import inline        @inline.precheck    def show_some_initial_values():        """ Precheck function description """        # ?pre-check code?        @inline    def test_one():        """ Test one’s description """        # ?test code?        @inline    def test_two():        """ Test two’s description """        # ?test code?        @inline.diagnostic    def show_some_final_values():        """ Diagnostic function description """        # ?post-run diagnostic code?        return inline.test(100) # runs test functions 100 times;                            # prechecks and diagnostics run onceif __name__ == '__main__':    sys.exit(test())...他們輸出報告,如下所示:...內聯測試可以基于每個模塊運行,直接從編輯器中運行。它們還可以通過 nox 設置全部運行,該設置收集并運行定義內聯測試的所有模塊。所以現在,關于和 codecov.io - 將套件與這些工具集成非常容易。我對一個現成的文件做了一些調整,安裝了 codecov.io 插件,那就是 - 這些測試報告它們的覆蓋范圍 codecov.io 很好。coverage.pypytest.coveragercpytest我的問題是,如何集成內聯測試的覆蓋率報告?有沒有一種簡單的方法來配置以“理解”這些測試功能,或者內聯測試是否需要將其結果報告給覆蓋工具?coverage.py是否可以在文件中設置類似的東西,或者它是否更復雜?.coveragerc而且,我應該考慮任何其他工具,無論是額外的還是代替我當前使用的工具?
查看完整描述

1 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

Coverage.py 對測試一無所知。它所做的只是告訴你代碼的哪些部分是由某個程序運行的。通常,該程序是測試運行程序,但 coverage.py 并不在乎。

如果現在使用 運行測試,請將命令更改為 ,您將獲得數據。python mytestrunner.pycoverage run mytestrunner.py


查看完整回答
反對 回復 2022-09-13
  • 1 回答
  • 0 關注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號