中口です。
# C++Builder ML の方にも送っていますので、C++Builder 固有の話は
# そちらにお願いします。
ごめんなさい、コンパイルエラーがあるものを送ってしまいました。
まずは修正。
1. Unit1.cpp の TestCaseSample::TestMethod は次が正しいです。
ShortString s = "";
CheckEquals(0, 3, s);
2. 同じくテストの登録部分
RegisterTest(TTestCase::Suite(__classid(TestCaseSample)));
で、1 のコードを見て感じると思いますが、CheckEquals メソッドの第3引数は、
ShortString で与えなければならず、かつ省略できません(Delphi ではできる)。
これではめんどいので、僕は TestFramework.pas で指定してある、
{$LONGSTRINGS OFF}
を、
{$LONGSTRINGS ON}
にして使っています。この際、GUITestRunner::Status メソッドでコンパイルエラー
が出ますが、
procedure Status(test :ITest; const Msg :ShortString);
を、
procedure Status(test :ITest; const Msg :string);
に変更すれば OK です。
この修正を行うと、
CheckEquals(0, 3, "");
と書くことができるようになります。
ただこの修正({$LONGSTRINGS ON})を行うと、DLL を使うとき(先ほどのメール、
1の利用方法)に問題が出るような記述が TestFramework.pas にあります。
NAKAGUCHI Takao
takao-n@....jp