問題タブ [dunitx]

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.

0 投票する
2 に答える
688 参照

unit-testing - テストのリストを動的に作成する

DelphiでDUnitXを使用していますが、行き詰まりました。テストのリストを動的に作成するにはどうすればよいですか?

たとえば、SQLのリストがあり、それらすべてを次のようにテストする必要があります

1つの方法の場合、これは簡単です

実装

しかし、テストのリストが必要な場合、属性は不十分です。 RepeatTest属性も不適切です。1 つのテストが内部で失敗した場合、テスト全体が停止しますが、すべての SQL を実行する必要があるためです。

何かアドバイス

編集1

DUnit(Xなし)では、これは次のように可能でした

DUnitXで同等のものは何ですか?

0 投票する
1 に答える
348 参照

unit-testing - dunitx の名前空間内のすべてのフィクスチャに共通のセットアップ ルーチンを作成できますか?

名前空間の下のすべてのテスト フィクスチャが 1 組のセットアップ/ティアダウン ルーチンによって囲まれるような方法で、dunitx で名前空間を使用することは可能ですか? (nunit の SetupFixture 属性と同様、http://www.nunit.org/index.php?p=setupFixture&r=2.5.5 )。

次のユニット名/名前空間を使用しようとしました:

  • TMyFixtureInitializer クラスの Tests.MyFixture.pas で、共通のセットアップ メソッドとティアダウン メソッドを使用します。

  • 実際のテスト クラスの Tests.MyFixture.MyTestUnit1.pas および Tests.MyFixture.MyTestUnit2.pas。

次の問題が発生しました。

  • TMyFixtureInitializer.SetupFixture と TeardownFixture は、クラス自体にテスト ルーチンが含まれていない場合は実行されません。

  • TMyFixtureInitializer にダミー テストを追加した後、SetupFixture ルーチンと TeardownFixture ルーチンが呼び出されますが、Tests.MyFixture.MyTestUnit1と Tests.MyFixture.MyTestUnit2 でのテストのです。

  • コンストラクタに SetupFixture 属性を設定し、TMyFixtureInitializer のデストラクタに TeardownFixture 属性を設定すると、名前空間を完全に無視して、すべてのテストの前後に実行されます。

Tests.MyFixture.pas:

Tests.MyFixture.MyTestUnit1.pas:

(Tests.MyFixture.MyTestUnit2.pas のソースは類似しています)。

名前空間を使用して初期化とクリーンアップを整理する方法の例はありますか?

0 投票する
3 に答える
368 参照

c++builder - Rad Studio の DUnitX で SetUp が呼び出されない

C++ で Rad Studio Berlin の DUnitX の例を作成しました。コードは次のコピーです: http://docwiki.embarcadero.com/RADStudio/Seattle/en/DUnitX_Overview

ヘッダーは次のとおりです。

TestAdd と TestSub は __published の下にあるため呼び出されますが、SetUp と TearDown は呼び出されません。テストごとに呼び出す必要があることを理解しています。Delphi のコードを見ると [Setup] 属性が見えますが、C++ では不要のようです。何か不足していますか?