問題タブ [dunit]

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 に答える
71 参照

delphi - アプリ コンソールの DUnit でテストされる階層とテストされない階層を決定する方法は?

アプリ コンソールの DUnit でテストされる階層とテストされない階層を決定する方法は? GUI モードで作業すると、階層をチェックおよびチェック解除できます。

0 投票する
0 に答える
69 参照

jenkins - 「ローカル システム」アカウントから実行すると単体テストがクラッシュするのはなぜですか?

観察した

Windows スレーブで実行される Jenkins ビルド ジョブがあります。スレーブには MSBuild が正しくセットアップされており、Windows Server 2012R2 Standard x64 を実行しています。

そのビルド ジョブは、私のプロジェクトの Unittests をコンパイルして実行しています。テストでは、DUnit および DelphiXE2 コンパイラを使用しています。テストのビルドは問題ありません。しかし、テスト実行可能ファイルが開始されると、Runtime error 216 at 00406E56発生します。実行可能ファイルは出力を生成せず、テスト結果ファイルは作成されません。テスト実行可能ファイルはConsoleRunner、GUI ではなく を使用します。

exe をローカル管理者または制限付きユーザーとして実行すると、期待どおりに動作します。

期待される

通常、テスト実行可能ファイルは出力を生成します。テスト実行ごとにドットを出力します。とにかく、exeが実行を開始することを期待しています。

独自の研究

  • 同じ動作を説明しているように見える質問がここにあります。

  • この問題は、Windows Server 2012 および 2012R2 で実行可能ファイルをlocal system(たとえばPSExec経由で) 実行しているときに発生します。

  • Dependency Walkerを使用してライブラリの依存関係を調べたところ、exe からすべてのライブラリにアクセスできることがわかりました。ライブラリ依存関係の PATH およびその他の検索パスにはすべて、少なくとも読み取りアクセス許可があります。local system

  • WOW64 が動作していることを確認しました。

容疑者

一般に、DUnit または Delphi XE2 が可視ユーザー インターフェイスを設定する権限を必要とするかどうかはわかりません。これは、local systemアカウントに欠けているものの 1 つです。

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

delphi - StopExpectingException 後の Delphi 7 Dunit チェックが期待どおりに機能しない

以下のコードは正常に動作し、calc... は例外を生成し、コメントアウトするか、calc... を変更して例外をスローしないようにすると、テストは失敗します。

私の問題は、この後にこのテストメソッドに入れたチェックが実行されないことです。
それで

最初の checkEquals で失敗します

合格 - なぜですか?

使用している Dunit のバージョンを調べてみました。