Start Debugging

タグ: testing

13 件 · ページ1/2

2026-08-24 flutterdarttesting
withClock クロージャなしで Flutter ウィジェットを固定時刻でテストする方法
testWidgets の中では package:clock のアンビエント clock はすでに偽物ですが、開始時刻はテストが始まった実時刻になります。flutter_test_config.dart から独自の AutomatedTestWidgetsFlutterBinding を導入し runTest をオーバーライドすれば、スイート全体で時刻を固定できます。Flutter 3.44.2、clock 1.1.2、fake_async 1.3.3 で検証しました。
2026-08-13 errorsdotnettesting
修正: dotnet test は通るのに Visual Studio のテスト エクスプローラーが xUnit v3 プロジェクトでハングする
テスト エクスプローラーは Microsoft.Testing.Platform のサーバーモードを使い JSON-RPC ソケット経由で xUnit v3 を実行しますが、dotnet test は違います。UseMicrosoftTestingPlatformRunner で両方の経路を同じコードに揃えるか、DisableTestingPlatformServerCapability で VSTest に戻してください。
ASP.NET Core の統合テストにおける WebApplicationFactory と Testcontainers の比較
両者は選択肢の関係にありません。WebApplicationFactory はアプリケーションを起動し、Testcontainers はその依存先を起動します。.NET SDK 10.0.201 で計測した結果、コンテナーを持つフィクスチャはクラスあたり 1.7 秒、SQLite なら 10 ミリ秒。そして Postgres が 22001 で拒否する HasMaxLength(16) 違反を、SQLite は黙って受け入れます。
xUnit v3 vs NUnit vs MSTest 2026年版: どれを選ぶべきか
新規の .NET プロジェクトには xUnit v3、制約モデルに慣れているなら NUnit 4.6、すでに使っているなら MSTest 4 を選びます。.NET SDK 10.0.201 上で実測した比較です。並列実行のデフォルト、テストクラスのライフサイクル、アサーション失敗時の出力、そして NUnit のランナーを壊す Microsoft.Testing.Platform のバージョン競合を扱います。
.NET 11 で TimeProvider と FakeTimeProvider を使って時間依存コードをテストする方法
DateTime.UtcNow、Stopwatch、Task.Delay を System.TimeProvider に置き換えて、テストから時計を制御します。依存性注入への登録、FakeTimeProvider.Advance と SetUtcNow、タイムアウトや PeriodicTimer ベースの BackgroundService のテスト、そして Advance と継続処理の落とし穴と xUnit v2 の問題まで解説します。
ASP.NET Core 11 で WebApplicationFactory<T> を使って統合テストを書く方法
ASP.NET Core 11 における WebApplicationFactory<TEntryPoint> の完全ガイドです。Program エントリポイントを到達可能にする方法、ConfigureTestServices と ConfigureWebHost の違い、IDbContextOptionsConfiguration 経由での EF Core 登録の差し替え、.NET 11 プレビュー 6 の新しい ConfigureHostApplicationBuilder フック、認証の偽装、WebApplicationFactoryClientOptions、そして実際のポートが必要なときの UseKestrel を解説します。
Testcontainers で本物の SQL Server に対する統合テストを書く方法
Testcontainers 4.11 と EF Core 11 を使い、ASP.NET Core の統合テストを本物の SQL Server 2022 に対して実行するための完全ガイドです。WebApplicationFactory の組み立て、IAsyncLifetime、DbContext 登録の差し替え、マイグレーションの適用、並列実行、Ryuk によるクリーンアップ、CI のはまりどころを解説します。
次へ