2017-09-12 5 views
0

私は定期的にテストしてプロファイリングする必要がある共有ライブラリを開発しています。主なターゲットプラットフォームはLinux(一般的)なので、私たちのチームはbuildsystem用のautotools(auto [scan、conf、make] + libtool + pkg-config)を選択しました。その後、クライアントは彼がWindows上で自分のソフトウェアを望むことにしました。そこで私はビジュアルスタジオのソリューションを追加しました。私の開発サイクルではWindows上で適切なテストが行​​われていませんが、ライブラリはコンパイル、リンク、Windows上でうまく動作します。Visual StudioでコンパイルされたDLLをテストする方法(または複数の実行可能ファイルを生成する方法)

私はLinuxとこのようなテストではautomakeのテストスーツを使用しています:

(すでに同じビルドシステム上に構築されている)私のライブラリにリンクされている10の実行ファイル(クライアント・サーバ・ペア)をコンパイル
make check -j2 

それらを実行します(ペアで順序付けられます)。出力は次のとおりです。

make[3]: Entering directory 'somefakepath/libfoo/test' 
PASS: tcp_client 
PASS: tcp_server 
PASS: tcp_client_control 
PASS: tcp_server_control 
PASS: udp_client 
PASS: udp_server 
PASS: udp_client_raw 
PASS: udp_server_raw 
SKIP: udp_client_rtp 
SKIP: udp_server_rtp 

======================================================== 
Testsuite summary for libfoo 5.0.1 
========================================================  
# TOTAL: 10 
# PASS: 8 
# SKIP: 2 
# XFAIL: 0 
# FAIL: 0 
# XPASS: 0 
# ERROR: 0 
======================================================== 

問題は、Visual Studioで同じことをする方法が見つからないということです。私は解決策に別のプロジェクトを追加しても問題ありません(実行ファイルはライブラリではありません)。私の知る限り、ビジュアルスタジオ[1][2]の1つのプロジェクトから複数の実行可能ファイルを生成することはできません。そして、10個のプロジェクトを追加するのは気になりません。多くの設定パラメータが1つ1つの同じ値に設定されています。また、複数のスレッドで1つの実行可能ファイルを選ぶことはあまり良くありません(多くを変更しなければなりません複数の[= 10]ファイルをマージします)。

Visual Studioでライブラリをテストするにはどうすればよいですか?あるいは、1つのプロジェクトで複数のファイルから複数のexetableを生成することができますか?

答えて

1

実行ファイルの唯一の違いが条件付きコンパイルマクロである場合、いくつかの構成(つまり、udp_client_raw構成、udp_server_raw 構成など)を持つ単一の実行可能プロジェクトを作成する必要があります。他の側面でそれらが異なる場合は、別々のプロジェクトを作成する必要があります。多くの設定パラメータを同じ値に設定する必要はないことに注意してください。プロパティシートを一度作成してから、すべてのプロジェクトに添付することができます。

1つのプロジェクトから複数の実行可能ファイルを作成するのに問題はありません。 Visual Studio内のバッチビルドを使用するか、コマンドラインからmsbuildを使用して、複数の構成を一度にビルドするだけで済みます。また、テスト目的でペアで起動するプロジェクトを設定することもできます。

+0

いいえ。私の実行ファイルは、非常に異なる、クライエント/サーバープログラムで、事前定義されたプロトコルで通信します。 –

+0

@ sorush-r次に、もう一度アプローチしていくつかのプロジェクトを作成します。 – VTT

関連する問題