問題タブ [mutation-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Stryker/Angular6: テンプレート アプリケーションの標準 @Component からミュータントを削除します
Angular 6 で基本的なテンプレート アプリケーションを作成し、 Stryker Mutation テストを実行しようとしています。基本的なホームページ:
このページの基本的なテスト ファイルがあります。
これは成功し、ホームページが作成されることをテストしますが、
.
基本的なホームページでは、@Component に 3 つのフィールドがあり、それらはすべてリテラル テキストであるため、ミュータント サバイバーを生成します。これらのミュータント生存者を殺すテストの書き方がわかりません。
条件を処理するためのテストを記述できない場合、代替手段としてコードのセクションを無視する方法が Stryker にあるようには見えません。
java - Intellij IDEA で Pitest レポートを生成できませんでした
IntelliJ IDEA (プラグイン: https://plugins.jetbrains.com/plugin/7119-pit-mutation-testing-idea-plugin )で突然変異テストに Pitest を使用しています。すべてのテスト ケースを実行した後、実行の最後に次のメッセージが表示されました。
スレッド「メイン」org.pitest.help.PitHelpError での例外: ライン カバレッジの計算時に、すべてのテストが突然変異なしではパスしませんでした。ミューテーション テストにはグリーン スイートが必要です。詳細については、 http://pitest.orgを参照してください。 org.pitest.coverage.execute.DefaultCoverageGenerator.verifyBuildSuitableForMutationTesting(DefaultCoverageGenerator.java:109) で org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:94) で org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage (DefaultCoverageGenerator.java:49) org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:115) で org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:117) で org.pitest. Mutationtest.tooling.EntryPoint.execute(EntryPoint.java:49) org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:87) で org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java: 45)
プロセスは終了コード 1 で終了しました ブラウザでレポートを開く
ファイルが生成されていないため、ブラウザでレポートを開くことができません。
私はすでに Pitest の設定を編集しています:
私は何か見落としてますか?
ありがとう
mutation-testing - PITEST インクリメンタル分析でローカル ハッシュ ファイルが見つかりません
現在 PITest を試していますが、これまでのところ正常に動作しています。ただし、これは非常に遅く、これまでの唯一の解決策は、インクリメンタル分析を使用することです。これにより、速度が遅くなる可能性があります。ドキュメントに記載されているように設定しようとしました。これが私の構成です:
ただし、実際には、PITest が historyInput と historyOutput を考慮に入れていることはわかりません。代わりに、私が見ているログでは
さまざまな設定をたくさん試しましたが、どれもうまくいかないようです。足りないものはありますか?
アップデート
最終的に、プラグイン定義は親 pom からのものであり、それを継承する子 pom で部分的にオーバーライドできることが判明しました。
java - ピット ミューテーション - if ( x !=null ) return null そうでなければ、新しい RuntimeException をスローする
カスタムオブジェクトを返すメソッドがあります
その単体テストは、getTheObject()
メソッドによって返されたオブジェクトが null でないことを確認します
そしてテストパス。
Pitestでミューテーションテストを実行するSURVIVED
と、次のような1 つのミューテーションが表示されます。
KILL
問題は、この問題とその突然変異を取り除くために、単体テストをどのようにすべきかということです