問題タブ [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 投票する
5 に答える
1224 参照

delphi - Delphi IDEからDUnitを使用し、例外のブレークポイントを回避する

Delphi XEを使用していて、メインアプリケーションとDUnitテストアプリケーションを含むプロジェクトグループがあります。時々、DUnitテストアプリケーションにアクセスして、いくつかのテストを追加し、既存のテストを実行します。

一部のテストコードは、アプリケーションによって処理される例外を生成しますが、標準アプリケーションの場合と同じようにショートカットを使用してテストアプリケーションを実行することに慣れているため、Delphiデバッガーによって複数回表示されF9ます。この場合、これはあまり便利ではありません。

SHIFTデバッグなしで実行するための++ショートカットについて知っていますCTRL。これを使用することを覚えていると、それは素晴らしいことですが、多くの場合、を押してからうめき声を上げ、テストアプリケーションを閉じてから、++を押します。なんて時間のロス。F9F9SHIFTCTRLF9

だから私の質問:より良い方法はありますか?いくつかの設定を定義したり、専門家を使用して、デフォルトでデバッグせずに特定のアプリケーションを実行したりできますか?確かに、この問題を抱えているのは私だけではありません。

前もって感謝します。

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

delphi - Dunitコンソールモード-2回のテストの実行

dunitテストプロジェクトがあり、コンソールモードで実行しようとしています。プロジェクトを実行すると、プロジェクトは2回実行され(コンソールウィンドウが1つだけ開き、テストが2回実行されていることがわかります)、GUIモードで実行する場合よりも実行に時間がかかります。dunitコンソールテストを1回だけ実行する方法を知っている人はいますか?

DPRソースコード:

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

windows - DUnit 2 つのテキスト ファイルを比較して Diff を表示

2 つのテキスト ファイルを比較して、dunit が同一でない場合に差分を表示する方法はありますか?

簡単な方法は、それらを TStringList に読み込むことですが、2 つのテキスト ファイルを比較するためのコードははるかに複雑であり、DUnitGui の GUI はこれには十分ではありません。

何か案が?提案?

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

delphi - TGUITestRunner でノードを「すべて折りたたむ」にはどうすればよいですか?

DUnit には、コンテキスト メニュー項目 "Expand all" と "Hide Test Nodes" があります。ただし、私のテスト プロジェクトでは、後者のオプションを選択しても、非常に多くのテスト スイート階層ノードが開いたままになります。最後のレベルのテスト ノードのみが非表示になります。すべてのノード、または最高レベル以外のすべてを折りたたむ秘密鍵はありますか?

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

delphi - インターフェースの実装オブジェクトのタイプを判別する方法

いくつかの可能な実装オブジェクトの 1 つを作成し、それをインターフェイス参照として返す単純なファクトリ クラスの単体テストを作成しようとしています。

DUnit には組み込みプロシージャ がありCheckIs(AObject: TObject; AClass: TClass; msg: string)、オブジェクトのクラス タイプが期待されるものと一致しない場合、その名前と受け入れるパラメータに基づいてテストに失敗する必要があります。唯一の問題は、インターフェイス参照ではなくオブジェクト参照が必要なことです。

そのため、テストの本体で比較を使用して実行しようとしてCheckTrueいますが、C# の場合ほど Delphi の型チェック サポートには慣れていません。

isオブジェクト参照でのみ機能するため、演算子が問題外であることはわかっています。

助言がありますか?

ところで、私は Delphi 2009 を使用しているため、2010 年以降に追加された新しい RTTI サポートにアクセスできません。

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

delphi - Delphi 2010 で DUnit を更新する

Delphi 2010 に付属する dUnit を最新の svn ソース コードに更新する方法を知っている人はいますか?

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

delphi - 関数とプロシージャはDelphiのクラスに属していないので、どうすればテストできますか?

と呼ばれる古いユニットにいくつかの小さな関数がありUtils.pasます。

今、それらのいくつかをリファクタリングしたいのですが、前にテストを書く方が良いと思います。DUnitでは、クラスなしでは不可能だと思います。

では、リファクタリングの前にそれらをテストするにはどうすればよいですか?

編集:

テストケースウィザードを使用してDelphiにテストケースを追加しようとしていたため、不可能だと思いました。次の図を参照してください。クラスとメソッドがないため、作成できません。

ここに画像の説明を入力してください

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

delphi - DUnit GUITestrunnerのコードからToolsAPIを呼び出すことはできますか?

ToolSAPIユニットのグローバル変数BorlandIDEServicesを初期化して、DUnit GUITestrunnerコードから使用できるようにする方法はありますか?

この例では、BorlandIDEServices変数が初期化されていないため、Project変数はnilになります。GUITestrunnerは、IDE内からデバッグモードで実行されます。

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

delphi - デルファイユニットテストでビジュアルコンポーネントを使用する方法は?

ビジュアルアプリケーションではよくあることですが、データがビジュアルコンポーネント(TTreeViewコンポーネント)で維持されるコードがあります。コードをリファクタリングし、ロジックの単体テストを作成しています。

私のテストプロジェクトの唯一の視覚的なフォームはGUITestRunnerです。将来的には、継続的インテグレーションサーバーの下でコンソールアプリケーションとしてテストを実行する予定なので、フォームはありません。

親なしでTTreeViewウィジェットを作成して使用しようとすると、次のエラーが発生します。

テストスイートのSetUpメソッドでウィジェットを作成し、TearDownで破棄するための最良の方法は何ですか?コンソールアプリケーションでビジュアルウィジェットを使用することは可能ですか?表示したり、イベントを処理したりする必要はありません。子ノードを作成してデータにアクセスするだけです。

醜いハックでうまくいくようになりましたが、標準的な方法があるかどうか知りたいです。

確かに、晴れて遠い将来、この21千行の形式のコードをリファクタリングします。すべてのデータは美しいデータ構造になり、この種のテストは必要ありませんが、今は必要です。

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

delphi - どの Delphi コンポーネントがユニット テストとともに出荷されますか?

ユニット テストの人気と、Delphi に DUnit が含まれていることを考えると、ユニット テスト スイートと共にソースをリリースしたコンポーネント ベンダーは、ユニット テストを採用していますか?

他の開発者と共有する例を探しています。