我正在开发一个 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...
这行得通,但我不确定“信息”宏是否是好的做法。我欢迎有关此实现的所有建议和指示,如果它没有意义,请随时告诉我,我应该做一些完全不同的事情;)