私は C++ ユニット テスターに取り組んでおり (主に練習として)、私の実装についていくつか質問がありました。カスタム アサーションをオーバーロードする機能が必要だったので、それらを名前空間にラップした関数として実装することにしました。
私の現在の実装は次のとおりです。
Tester.h
#include <string>
#define INFO __FILE__, __LINE__
namespace Tester
{
void Assert(char const* input, char const* file_path, int line_number, std::string error_message);
...more overloaded Asserts and some Log functions...
}
そして、関数を呼び出すと:
#include "Tester.h"
...code...
Tester::Assert(false, INFO, "Some message");
...code...
これは機能しますが、「INFO」マクロが適切な方法であるかどうかはわかりません。この実装に関するすべての提案と指針を歓迎します。それが意味をなさない場合や、まったく別のことを行う必要がある場合は、遠慮なく教えてください ;)