0

Catch フレームワークを使用してユニット テスト プロジェクトを作成しようとしていますが、リンク エラーが発生します。

次のようにプロジェクトを設定しました。

  1. ネイティブ ユニット テスト プロジェクトを作成する
  2. インクルード ディレクトリに Catch を追加します。
  3. #include <catch.hpp>stdafx.hに追加
  4. 次の簡単なソース ファイルを記述します。

unittest.cpp:

#include "stdafx.h"
namespace Catch2_Test
{
  TEST_CASE("Y U no work")
  {
    REQUIRE(1);
  }
}
4

2 に答える 2

2

Catch を Visual Studio に統合する方法については、Malcolm Noyes による
ACCU の記事 Integrating the Catch Test Framework into Visual Studio を参照してください。

プリコンパイル済みヘッダーでの Catch2 の使用については、horenmarが例を示しているCatch2 issue 1061
を参照してください。変更は v2.1.0 の一部としてリリースされました

要約すると、与えられた解決策は次のとおりです。

// stdafx.h
#pragma once

#include "targetver.h"

#include <stdio.h>
#include <tchar.h>

#define CATCH_CONFIG_ALL_PARTS
#include "catch.hpp"

// PCH-test.cpp:
#include "stdafx.h"

#undef TWOBLUECUBES_SINGLE_INCLUDE_CATCH_HPP_INCLUDED
#define CATCH_CONFIG_IMPL_ONLY
#define CATCH_CONFIG_MAIN
#include "catch.hpp"

// tests1.cpp:
#include "stdafx.h"

TEST_CASE("FooBarBaz") {
    REQUIRE(1 == 2);
}
于 2017-11-16T08:56:01.283 に答える