問題タブ [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.
delphi - Delphi IDEからDUnitを使用し、例外のブレークポイントを回避する
Delphi XEを使用していて、メインアプリケーションとDUnitテストアプリケーションを含むプロジェクトグループがあります。時々、DUnitテストアプリケーションにアクセスして、いくつかのテストを追加し、既存のテストを実行します。
一部のテストコードは、アプリケーションによって処理される例外を生成しますが、標準アプリケーションの場合と同じようにショートカットを使用してテストアプリケーションを実行することに慣れているため、Delphiデバッガーによって複数回表示されF9ます。この場合、これはあまり便利ではありません。
SHIFTデバッグなしで実行するための++ショートカットについて知っていますCTRL。これを使用することを覚えていると、それは素晴らしいことですが、多くの場合、を押してからうめき声を上げ、テストアプリケーションを閉じてから、++を押します。なんて時間のロス。F9F9SHIFTCTRLF9
だから私の質問:より良い方法はありますか?いくつかの設定を定義したり、専門家を使用して、デフォルトでデバッグせずに特定のアプリケーションを実行したりできますか?確かに、この問題を抱えているのは私だけではありません。
前もって感謝します。
delphi - Dunitコンソールモード-2回のテストの実行
dunitテストプロジェクトがあり、コンソールモードで実行しようとしています。プロジェクトを実行すると、プロジェクトは2回実行され(コンソールウィンドウが1つだけ開き、テストが2回実行されていることがわかります)、GUIモードで実行する場合よりも実行に時間がかかります。dunitコンソールテストを1回だけ実行する方法を知っている人はいますか?
DPRソースコード:
windows - DUnit 2 つのテキスト ファイルを比較して Diff を表示
2 つのテキスト ファイルを比較して、dunit が同一でない場合に差分を表示する方法はありますか?
簡単な方法は、それらを TStringList に読み込むことですが、2 つのテキスト ファイルを比較するためのコードははるかに複雑であり、DUnitGui の GUI はこれには十分ではありません。
何か案が?提案?
delphi - TGUITestRunner でノードを「すべて折りたたむ」にはどうすればよいですか?
DUnit には、コンテキスト メニュー項目 "Expand all" と "Hide Test Nodes" があります。ただし、私のテスト プロジェクトでは、後者のオプションを選択しても、非常に多くのテスト スイート階層ノードが開いたままになります。最後のレベルのテスト ノードのみが非表示になります。すべてのノード、または最高レベル以外のすべてを折りたたむ秘密鍵はありますか?
delphi - インターフェースの実装オブジェクトのタイプを判別する方法
いくつかの可能な実装オブジェクトの 1 つを作成し、それをインターフェイス参照として返す単純なファクトリ クラスの単体テストを作成しようとしています。
DUnit には組み込みプロシージャ がありCheckIs(AObject: TObject; AClass: TClass; msg: string)
、オブジェクトのクラス タイプが期待されるものと一致しない場合、その名前と受け入れるパラメータに基づいてテストに失敗する必要があります。唯一の問題は、インターフェイス参照ではなくオブジェクト参照が必要なことです。
そのため、テストの本体で比較を使用して実行しようとしてCheckTrue
いますが、C# の場合ほど Delphi の型チェック サポートには慣れていません。
is
オブジェクト参照でのみ機能するため、演算子が問題外であることはわかっています。
助言がありますか?
ところで、私は Delphi 2009 を使用しているため、2010 年以降に追加された新しい RTTI サポートにアクセスできません。
delphi - Delphi 2010 で DUnit を更新する
Delphi 2010 に付属する dUnit を最新の svn ソース コードに更新する方法を知っている人はいますか?
delphi - 関数とプロシージャはDelphiのクラスに属していないので、どうすればテストできますか?
と呼ばれる古いユニットにいくつかの小さな関数がありUtils.pas
ます。
今、それらのいくつかをリファクタリングしたいのですが、前にテストを書く方が良いと思います。DUnitでは、クラスなしでは不可能だと思います。
では、リファクタリングの前にそれらをテストするにはどうすればよいですか?
編集:
テストケースウィザードを使用してDelphiにテストケースを追加しようとしていたため、不可能だと思いました。次の図を参照してください。クラスとメソッドがないため、作成できません。
delphi - DUnit GUITestrunnerのコードからToolsAPIを呼び出すことはできますか?
ToolSAPIユニットのグローバル変数BorlandIDEServicesを初期化して、DUnit GUITestrunnerコードから使用できるようにする方法はありますか?
この例では、BorlandIDEServices変数が初期化されていないため、Project変数はnilになります。GUITestrunnerは、IDE内からデバッグモードで実行されます。
delphi - デルファイユニットテストでビジュアルコンポーネントを使用する方法は?
ビジュアルアプリケーションではよくあることですが、データがビジュアルコンポーネント(TTreeViewコンポーネント)で維持されるコードがあります。コードをリファクタリングし、ロジックの単体テストを作成しています。
私のテストプロジェクトの唯一の視覚的なフォームはGUITestRunnerです。将来的には、継続的インテグレーションサーバーの下でコンソールアプリケーションとしてテストを実行する予定なので、フォームはありません。
親なしでTTreeViewウィジェットを作成して使用しようとすると、次のエラーが発生します。
テストスイートのSetUpメソッドでウィジェットを作成し、TearDownで破棄するための最良の方法は何ですか?コンソールアプリケーションでビジュアルウィジェットを使用することは可能ですか?表示したり、イベントを処理したりする必要はありません。子ノードを作成してデータにアクセスするだけです。
醜いハックでうまくいくようになりましたが、標準的な方法があるかどうか知りたいです。
確かに、晴れて遠い将来、この21千行の形式のコードをリファクタリングします。すべてのデータは美しいデータ構造になり、この種のテストは必要ありませんが、今は必要です。
delphi - どの Delphi コンポーネントがユニット テストとともに出荷されますか?
ユニット テストの人気と、Delphi に DUnit が含まれていることを考えると、ユニット テスト スイートと共にソースをリリースしたコンポーネント ベンダーは、ユニット テストを採用していますか?
他の開発者と共有する例を探しています。