DUnit テストを DUnitX に変換する方法

提供: RAD Studio
移動先: 案内検索

DUnitX の概要 への移動


DUnit から DUnitX への変換は比較的簡単です。DUnit.DUnitCompatibility.pas には、すべての Check(X) メソッドを備えた TTestCase クラスが定義されています。これらのメソッドは非推奨であると明示されており、新しい Assert メソッドに処理を委譲します。

DUnit コードを DUnitX に変換するには、次の手順に従います。

  1. uses 句で、
    TestFramework
    次のコードに置き換えます。
    DUnitX.TestFramework,DUnitX.DUnitCompatibility;
  2. 登録を次のコードに変更します。
    TDUnitX.RegisterTestFixture(TYourTestClass)

スタック トレース サポートの有効化

DUnit コードを使って、DUnitX のスタック トレース サポートを有効にすることができます。そのために、DUnitX には DUnitX.StackTrace.inc ファイルがあります。使用するプロバイダの定義のコメントを解除する必要があります。独自のスタック トレース プロバイダを用意する場合は、IStacktraceProvider を実装し、それを次のコードで登録します。

TDUnitXIoC.DefaultContainer.RegisterType<IStackTraceProvider,TYourProvider>;

DUnitX と DUnit の違い

DUnitX の用語は DUnit とは異なります。両者の違いを次の表に示します。

機能 DUnit DUnitX

基底テスト クラス

TTestCase

なし

テスト メソッド

可視性が published

可視性が published、または [Test] で修飾

フィクスチャ セットアップ メソッド

該当なし

[SetupFixture] で修飾、またはコンストラクタ

テスト セットアップ メソッド

基底クラスから継承した Setup をオーバーライド

[Setup] で修飾

テスト ティアダウン メソッド

基底クラスから継承した Teardown をオーバーライド

[TearDown] で修飾

名前空間

登録パラメータ(文字列)を通じて

ユニット名(ピリオドで名前空間を区切る)

データ駆動型テスト

該当なし

[TestCase(<パラメータ>)] で修飾

アサーション

Check(X)

Assert クラス

コンテナ(IEnumerable<T>)に関するアサーション

手動

Assert.Contains、Assert.DoesNotContain、Assert.IsEmpty

正規表現を使ったアサーション

該当なし

Assert.IsMatch(XE2 以降)

スタック トレースのサポート

Jcl

Jcl、madExcept 3、madExcept 4、EurekaLog 7

メモリ リークの検査

FastMM4

FastMM4(開発中)

IoC コンテナ

Spring などを使用

簡単な IoC コンテナが組み込み

コンソールのログ記録

組み込み

組み込み(サイレント モードまたは詳細表示モード)

XML ログ記録

組み込み(独自形式)

組み込み - NUnit 互換の XML コードを出力

関連項目