[解決?] Delphi XE Pro - DUnit の使い方を知りたい というかファイルを指定して読み込ませる事ができるのか知りたい
Delphi XE Proでニコニコ生放送のコメントを表示するソフトを作っている。
しかし、Indy(ネットワーク関連の処理をまとめたコンポーネント群)の使い方がさっぱりわからないので
今のところ、とあるソフトでニコニコ生放送のコメント(XMLファイル)をダウンロードし、そのダウンロードしたXMLファイルを表示するソフトになっている。
あとNCVで保存したコメントファイルを開く事も出来るように今週改良を加えた。

しかし動作テストする為に毎回、最低でも6ファイルぐらいテスト用のXMLファイルを手動で開いて、ちゃんと動くのか読み込ませるのが面倒臭く感じてきたので
「Delphiで使えるテストツールがないかなぁ?」と思い軽く検索してみたら「DUnit」というのがあるのがわかったけど、関数(procedure/function)単位でテストするようだった。
この「DUnit」というは、ファイルを複数指定すると指定したファイルを順次読み込んでテストしてくれるのかどうか、詳しい方教えてください。

作ったプログラムのメインのpasファイルには、
procedure TForm1.XMLRaedVirtualView(FileName, Encoding);
って言う感じになっていて、テストプロジェクトには、
procedure TestTForm1.TestXMLRaedVirtualView;
var
 Encoding: TEncoding;
 FileName: string;
begin
 // TODO: メソッド呼び出しパラメータのセットアップ
FForm1.XMLRaedVirtualView(FileName, Encoding);
 // TODO: メソッド結果の検証
end;
という状態です。






[2014年11月8日 追記]
恐る恐る XXXTests.exe を実行してテストする項目にチェックを入れてテスト実行したら、
自動的にファイルオープンダイアログが開かれた!!
テストする項目にチェックされている項目にニコニコ生放送のコメント(XMLファイル)を開く自作関数があったためだと思われる。


[2014年11月8日 追記 16時05分 ]
初出時に書き忘れていましたが山本さんの記事:Delphiのユニットテストのチュートリアル - 山本隆の開発日誌 を参考にして「DUnit」導入?しました。助かりました<(_ _)>
procedure TestTForm1.TestXMLRaedVirtualView;
var
 Encoding: TEncoding;
 FileName: string;
begin
// TODO: メソッド呼び出しパラメータのセットアップ
 FileName := '...\NicoLiveXMLRead\test01.xml';
 Encoding := TEncoding.GetEncoding(65001);
 FForm1.XMLRaedVirtualView(FileName, Encoding);

 FileName := '...\NicoLiveXMLRead\NG1_8.xml';
 FForm1.XMLRaedVirtualView(FileName, Encoding);

 FileName := '...\NicoLiveXMLRead\コメントなし放送.xml';
 FForm1.XMLRaedVirtualView(FileName, Encoding);

 FileName := '...\NicoLiveXMLRead\NG1-2and4_6.xml';
 FForm1.XMLRaedVirtualView(FileName, Encoding);
 // TODO: メソッド結果の検証
end;
みたいにすれば自分の作成したソフトの場合、ファイルを複数回読み込んでくれるみたいです。
b0003577_18471584.png
しかし、ちゃんと動いているかすぐにはよくわからなかったので、ブレイクポイントを置いてみてちゃんと通過していることを確認して読み込んでくれたことを確認しました。
[PR]

by arigayas | 2014-11-06 18:21 | Delphi Programming | Trackback | Comments(0)
トラックバックURL : http://arigayas.exblog.jp/tb/23696149
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
<< [2ch] [コピペ] - ... 2014年10月からのアニメ >>