17

私は sonar-runner を介して非常に単純な一連の python プロジェクトを実行していますが、テストを表示する際に問題が発生しています。

Python Plugin 1.1 を使用して Sonar 3.2.1 を実行しています。カバレッジ レポートは以前に生成されています。

私は次のセットを持っています:

sonar.dynamicAnalysis=reuseReports
sonar.core.codeCoveragePlugin=cobertura
sonar.python.coverage.reportPath=coverage.xml

この時点で何をしても、カバレッジは表示されません。

テストはソースと同じフォルダーにあります...それが問題になる可能性はありますか? カバレッジ レポートがソナーによって適切に分析されるように、ソース コードをどのように配置するかについての要件はありますか?

編集:さらにいくつかのメモを追加します...

  • マルチプロジェクトの python インスタンスです。私はそこに3つのプロジェクトを持っています。他のすべては、ソナー レポートに正しく表示されているようです。それぞれのベース ディレクトリとソース ディレクトリを定義し、coverage.xml ファイルはそれぞれのベース ディレクトリに事前に生成されています。
  • カバレッジ ウィジェットは表示されますが、次のように表示されます。

    Code coverage
    -
    Unit test success
    0 tests
    
  • sonar-runner を実行すると、次のようにも表示されます。

    10:04:29.641 INFO  p.PhasesTimeProfiler - Sensor PythonCoverageSensor...
    10:04:29.642 INFO  .p.c.CoberturaParser - Parsing report '/home/jenkins/jobs/myproject/workspace/trunk/src/python/coverage.xml'
    10:04:29.883 INFO  p.PhasesTimeProfiler - Sensor PythonCoverageSensor done: 242 ms
    
4

4 に答える 4

14

また、この問題があり、pytest は sonarqube が利用できる適切にフォーマットされたカバレッジ レポートを生成していませんでした。pytest がカバレッジ レポートを生成した後に実行coverage xml -iしたところ、このコマンドは sonarqube が理解できる適切にフォーマットされたカバレッジ レポートを生成します。

于 2017-05-10T14:12:13.170 に答える