問題タブ [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.
unit-testing - テストのリストを動的に作成する
DelphiでDUnitXを使用していますが、行き詰まりました。テストのリストを動的に作成するにはどうすればよいですか?
たとえば、SQLのリストがあり、それらすべてを次のようにテストする必要があります
1つの方法の場合、これは簡単です
実装
しかし、テストのリストが必要な場合、属性は不十分です。 RepeatTest属性も不適切です。1 つのテストが内部で失敗した場合、テスト全体が停止しますが、すべての SQL を実行する必要があるためです。
何かアドバイス
編集1
DUnit(Xなし)では、これは次のように可能でした
DUnitXで同等のものは何ですか?
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 のソースは類似しています)。
名前空間を使用して初期化とクリーンアップを整理する方法の例はありますか?
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++ では不要のようです。何か不足していますか?