1

Boost.Buildのドキュメントは、テストに関しては非常に簡潔です。

私のプロジェクトのすべてのテストは、unit-testルールを使用して定義されています。

ドキュメントで言及されている唯一のプロパティは ですがtesting.launcher、に設定されている場合にのみテストの実行を無効にできtesting.launcher=trueます。

unit-testルールのコンパイルを完全に無効にする方法は? コマンドラインからプロパティを設定するなど、一時的にそれを行いたいと思います。testing.*それを行う方法や他のプロパティのリファレンス ドキュメントは見つかりませんでした。

4

3 に答える 3

2

デフォルトで無効にするつもりですか?「明示的;」を追加することでそれを行うことができます 単体テストごとに。そのようなターゲットが多数ある場合は、入力を節約し、それを実行するルールを宣言して、単体テストを次のように宣言できます。

rule explicit-unit-test ( target : source : properties * )
{
    unit-test $(target) : $(source) : $(properties) ;
    explicit $(target) ;
}

他に何かが必要な場合は..他に何が欲しいか思いつかないので、質問をよりよく説明する必要があると思います。

于 2012-02-26T21:24:10.440 に答える
1

Boost.Build ドキュメントとそのコードの関連部分のほとんどを読んだときに、特定のルールまたはターゲットのセットの構築を一時的に無効にする方法が見つかりませんでした (たとえば、テストのターゲットを正規表現と照合することによって)。

また、注目unit-testに値するのは、、 、、、、.runrun-failcompilecompile-faillinklink-fail

おそらく、 @GrafikRobot の回答のように、独自のルールを作成しますが、ターゲットを明示的にする代わりに、特定の機能が存在する場合にルールを空にします

于 2012-03-07T15:52:13.513 に答える
0

次のように、この目的のために明示的なテスト スイートを使用します。

explicit X ;
test-suite X
:
      [ run test1.cpp ]
      [ run test2.cpp ]
      [ run test3.cpp ]
      [ run test4.cpp ]
;

以下を使用して、テスト スイート X でのテストの実行を明示的に要求する必要があります。

bjam X
于 2013-03-10T10:43:05.303 に答える