【发布时间】:2011-09-22 23:21:11
【问题描述】:
我正在尝试使用 Visual Assert 进行测试。 Visual Studio 说我要测试的方法在 main.cpp 中定义在测试夹具中未定义。
MyFunctionTest.cpp:
#include <cfixcc.h>
class ExampleTest : public cfixcc::TestFixture
{
private:
public:
void Test()
{
CFIXCC_ASSERT_EQUALS(4, MyFunction(2,2));
}
};
CFIXCC_BEGIN_CLASS(ExampleTest)
CFIXCC_METHOD(Test)
CFIXCC_END_CLASS()
我没有为测试创建一个单独的项目,所以这两个文件是同一个项目的一部分。如何让 MyFunction 可见,以便 Visual Assert 正常工作?
【问题讨论】:
-
MyFunctiony定义在哪里? -
MyFunction 在 main.cpp 中定义。抱歉,如果不清楚。如果我无法控制的非技术情况不允许我将定义移动到头文件中,我可以包含 cpp 文件吗?
-
您不需要将其移动到标题中,只需在此处声明即可。您可以将定义保留在 main.cpp 中。
-
你可以用谷歌搜索“C++ 前向声明”。
标签: c++ visual-studio scope