2

単体テストを行う前に、次のようなディレクトリがありました

mything.h
mything.cpp
mything2.h
mything2.cpp
driver.cpp  // contains main()
Makefile

次にmake、生成された実行可能ファイルを実行します。この実行可能ファイルは、ルート ディレクトリに生成されました (これを と呼びますrunme)。

今、私は Catch2 https://github.com/catchorg/Catch2/blob/master/docs/Readme.md#topを使用しようとしています。これは、メインのテストファイルを 1 つ持つことも示しています (定義があります)。 )。だから私は自分のコードを次のように再編成しました

src/
  mything.h
  mything.cpp
  mything2.h
  mything2.cpp
  driver.cpp  // contains main()
test/
  catch2.hpp // downloaded off their website in single header option
  sometest.cpp // also contains a main per catch2
Makefile

実際のコードを参照しないダミーのテストをいくつか作成しました。これで、すべてのテストが実行されますmake tester./testerそして、元のアプリケーションを実行するmakeことができます。./runme

私の質問は、テスト コードからソース コードを実際に呼び出すにはどうすればよいかということです。srcこのディレクトリをライブラリに変換する必要がありますか? つまり、テスト コードが c++ で src コードを参照する方法は、私には少しわかりません。

完全な開示のために、私はpython / pytestの世界から来て、ユニットテストまたは適切なプロジェクト構造に関して実際にc ++コードをどのように構造化するのか疑問に思っています。

4

0 に答える 0