2

生成されたレポートから除外する必要がある関数があり、欠落していると表示されます。今私は得る:

レポートのショット

欠けているものは何もありません。サポート機能を読み取り、それらについてレポートします。

例えば:

def is_element_present(self, how, what): 
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e: return False 
        return True 

上記の例では、 --covexcept NoSuchElementException, e: return Falseは行を欠落として読み取ります。そして、これがカバレッジ レポート ツールであることは理解していますが、失敗したテストも表示するべきではありませんか? 修辞的な、はい、そうすべきです。しかし、どうやってそれを示しますか。私はドキュメントを読みましたが、それを見つけることができません。

4

1 に答える 1

4

pytest-cov プラグインは.coveragerc構成を取得できるため、次のように推奨されていpytest-covます。

カバレッジをさらに制御するには、カバレッジ構成ファイルを使用します。

まだ作成していない場合は、そのようなファイルを作成し、その中に次のようにします。

[run]
exclude_lines =

    raise NoSuchElementException

そしてするpy.test --cov-config .coveragerc [other parameters]その他のオプションについては、 http://nedbatchelder.com/code/coverage/config.htmlを参照してください。--cov-configカバレッジ構成が実際に名前のものである場合、実際には明示的に追加しないことに注意してください(これはand.coveragercのデフォルトです)coverage.pypytest-cov

このソリューションを次のコードでテストしました。

main.py

def main():
    try:
        print 1 / 0
    except:
        raise Exception('test')

test_main.py

import unittest
import main

def test_main():
    main.main()


if __name__ == '__main__':
    testcase = unittest.FunctionTestCase(test_main)
    unittest.main()

そしてpy.test --cov main.py、私に与えた:

名前 Stmts Miss Cover

メイン 5 0 100%

于 2013-07-18T14:33:53.680 に答える