0

私は単体テストを使用しており、Qt-Creator で aunit-test projectApplication project. 両方を別々にコンパイルして、両方のプロジェクトに非常に満足しています。

次に、2 つのプロジェクトをリンクすることができましmyClass.cppた。リンクは次を追加することによって行われました:Application projectunit-test project

#INCLUDEPATH myApplicationProjectPath 
#SOURCES myApplicationProjectPath/myClass.cpp

すべてが正常に機能し.pro fileunit-test projectおり、単体テストが機能しています。(パスとクラスを追加する代わりに、lib を構築しています)。

その間、.pro fileApplication projectは次のようなものを持っています:

#CONFIG(debug, debug|release){
message(Debug bulid)
}

これは、コードをデバッグ モードでコンパイルするか、デバッグ | リリース モードでコンパイルするかの条件文です。

(構成の設定に応じて、最大 3 回処理します。通常は 3 回実行します。デバッグ用に 1 回、リリース用に 1 回、debug_and_release 用に最後の 1 回を実行します)。私の にを追加します。そのため、プロジェクトをビルドしようとすると、テスト、デバッグ、またはリリース モードでビルドするかどうかを選択するオプションが表示されます。qmakepro file#CONFIG.pro fileApplication projectTest mode

そうすることで、単体テスト用に別のプロジェクトをビルドする必要がなくなり#SOURCES、テスト モード オプション内のセクション内でテストする必要があるクラスを追加するだけで済みます。

では、コードをビルドする 4 つの方法 (デバッグ、リリース、デバッグ | リリース、およびテスト) を使用することは可能ですか?

4

1 に答える 1

2

の一部であるCONFIGすべてのものは、条件のスコープとしてテストできます (参照: QMake 構成とスコープ)。つまり、「テスト」に独自の意味を追加できます。

例えば

以下は、「unittest」が使用してCONFIGに追加されたときにソースを追加しますCONFIG += unittest

unittest {
    SOURCES += my_unittests.cc
}
于 2013-06-05T16:32:26.153 に答える