互換性
TestDetta に必要なものと、動作を確認済みの環境です。これらの表にないものが対応していないとは限りませんが、エンドツーエンドではテストされていません。
要件
| 項目 | 要件 |
|---|---|
| .NET SDK | TestDetta 自体の実行には .NET 10 SDK を使用します。テストは、リポジトリで現在使用している SDK とテストランナーのまま実行されます。 |
| Git の履歴 | マージベースを見つけられるよう、ブランチとそのターゲットブランチの完全な履歴が必要です。シャロークローンでは動作しません。 |
| オペレーティングシステム | Linux と macOS(x64 と arm64)。Windows はまだテストしていません。 |
テストフレームワークとテストランナー
dotnet test の両方のテストランナーに対応しています。テストランナーは、dotnet test と同じように global.json から読み取られます。次の組み合わせは、記録を含めてエンドツーエンドでテストされており、各フレームワーク独自の並列実行を有効にした場合も確認しています。
| フレームワーク | VSTest | Microsoft.Testing.Platform |
|---|---|---|
| xUnit v2 | テスト済み | – |
| xUnit v3 | – | テスト済み(.NET 10 SDK で xUnit v3 を使う場合は必須) |
| NUnit | テスト済み | テスト済み。記録中に失敗したテストを把握できるよう、Microsoft.Testing.Extensions.TrxReport を追加してください |
| MSTest | テスト済み | テスト済み |
| TUnit | – | テスト済み |
評価用コーパスのテストプロジェクトは .NET 8 〜 .NET 10 をターゲットにしています。.NET Framework のテストプロジェクトは含まれていません。
言語
| 言語 | 変更の扱い |
|---|---|
| C# | 構文ツリー、カバレッジマップ、名前によるトレースで、メンバー単位まで分析します。 |
| F#、Visual Basic | プロジェクトグラフには含まれますが、分析はされません。これらのプロジェクトが影響を受けた場合、それに依存するものはすべて丸ごと実行されます。 |
CI システム
どの CI でも必要なものは同じ 3 つです。完全な履歴、ターゲットブランチのフェッチ、そして既定のブランチとプルリクエストの間でカバレッジマップを保持する場所です。
| CI | セットアップ | マップの保存先 | サマリー |
|---|---|---|---|
| GitHub Actions | アクション、2 ステップ | Actions のキャッシュ(コミットごとに 1 エントリ) | ジョブサマリーを自動で書き込み |
| GitLab CI | td ツール、td record と td test | --maps-dir で指定する共有フォルダーまたはオブジェクトストレージ | --summary-file が、表示に対応したあらゆる CI 向けに Markdown を書き込み |
| Jenkins | |||
| Azure DevOps | |||
| Bitbucket Pipelines |