Dunit Test プロジェクトでバージョン情報を設定できないのはなぜですか? このプロジェクトではチェックボックスが無効になっていますが、他のプロジェクトでは無効になっています。スクリーンショットを参照してください。
2 に答える
テスト プロジェクトのソースに {$R *.res} ディレクティブがない可能性があります。.dpr に含める必要があります。そうしないと、プロジェクト オプションでこの機能を使用できなくなります。
デフォルトでそこにあるはずですが、プロジェクトにユニットを追加または削除するときに、時々台無しになることがあります。これが発生すると、次のようになります。
$R *.res} // notice the missing '{'
これが発生し、開発者が何を見ているのかわからなかった場合、問題のある行を削除しただけかもしれません。
さらに、テスト プロジェクトがコマンド ライン プロジェクトとして開始された場合、最初からこのディレクティブがなかった可能性があります。
{$R *.RES}
DUnit 単体テスト プロジェクトは、他の Delphi プロジェクトのように構築されていません。そのため、デフォルトでリソース ファイルがないことがわかります。そのため、宣言を自分で行うまで versioninfo タブが無効になっていました。
DUnit プロジェクトは、GUI テスト ランナー (VCL を使用しますが、通常は変更しないでください。GUI は固定されています) またはコンソール モード テスト ランナーを使用して、2 つの構成のいずれかでビルドできます。コンソール アプリケーションはリンクされたリソース ファイルを持つことができるため、バージョン情報を持つことができます。実際、多くのコンソール アプリケーションがそのようにしていますが、表示されているものが表示されている理由は、DUnit のテスト ランナー フレームワークと unit-test-projects がそうでないためです。あなたが慣れている方法で構築されています。
これにより、IDE が混乱し、IDE は関連するセクションを無効にします。{$R} を再度追加できる場合があります。Kenneth の回答を受け入れたので、うまくいったようですが、この問題に遭遇した将来の人々に役立つ可能性のある背景情報を追加したかっただけです。