2011-09-22 50 views
1

我试图使用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正常工作?

+0

头哪里是'MyFunctiony'定义? – RedX

+0

MyFunction在main.cpp中定义。对不起,如果不明确。 如果超出我的控制范围的非技术性情况决定我不允许将定义移动到头文件,我可以包含cpp文件吗? – CRES

+0

你不需要将它移动到头部就可以在那里声明它。您可以在main.cpp中保留定义。 – RedX

回答

0

#include,声明MyFunction()