这是我做的:
我首先创建了一个 Win32ConsoleApplication
以下是代码:
function extend(out){
if (!out) {
out = {};
}
...
}
然后我添加原生单元测试项目
在单元测试解决方案中,我右键单击参考标签,然后按 ConsoleApplication2 (项目名称)参考添加。
然后我转到 unittest.cpp ,这就是我所看到的:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
system("pause");
return 0;
}
在最顶端,我添加了自己的命名空间,如下所示:
#include "stdafx.h"
#include "CppUnitTest.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTest8
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)
{
// TODO: Your test code here
}
};
}
但是说using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace ConsoleApplication2;
是错误的。为什么是这样?我做错了什么?
答案 0 :(得分:0)
您想要使用未定义的命名空间。为了使用您想要的命名空间,您必须包含文件及其定义。
例如,使用
创建文件 ConsoleApplication2.hnamespace ConsoleApplication2
{}
使用您的函数填充它,然后将该文件包含到 unittest.cpp 中以使用命名空间:
#include "stdafx.h"
#include "CppUnitTest.h"
#include "ConsoleApplication2.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace ConsoleApplication2;
...