Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;(14) -谷歌测试未定义标识符 为什么googletest无法获取curl\u客户端类对象指针?我在CurlClientTest中正确初始化了它吗_C++_C++14_Googletest - Fatal编程技术网

C++ C++;(14) -谷歌测试未定义标识符 为什么googletest无法获取curl\u客户端类对象指针?我在CurlClientTest中正确初始化了它吗

C++ C++;(14) -谷歌测试未定义标识符 为什么googletest无法获取curl\u客户端类对象指针?我在CurlClientTest中正确初始化了它吗,c++,c++14,googletest,C++,C++14,Googletest,测试代码: #include "../src/include/CurlClient.h" #include <gtest/gtest.h> #include <string> class CurlClientTest : testing::Test { public: SimpleCURLClient::CurlClient *curl_client; virtual void SetUp() { curl_client = new SimpleCURL

测试代码:

#include "../src/include/CurlClient.h"
#include <gtest/gtest.h>
#include <string>

class CurlClientTest : testing::Test {
public:
  SimpleCURLClient::CurlClient *curl_client;
  virtual void SetUp() {
    curl_client = new SimpleCURLClient::CurlClient(test_url);
  }

  virtual void TearDown() {
    delete curl_client;
  }

private:
  std::string test_url = "http://postman-echo.com/get?foo1=bar1&foo2=bar2";
};

TEST(CurlClientTest, CurlClientInitTest) {
  std::cout << curl_client->getCurlUrl << "\n";
}
答案(由Chris Olsen在评论中给出):

我们必须使用
TEST\u F
而不是
TEST
。同时将CurlClientTest更改为public。下面是测试工作的代码

#include "../src/include/CurlClient.h"
#include <gtest/gtest.h>
#include <string>

class CurlClientTest : public testing::Test {
public:
  SimpleCURLClient::CurlClient *curl_client;
  virtual void SetUp() {
    curl_client = new SimpleCURLClient::CurlClient(test_url);
  }

  virtual void TearDown() {
    delete curl_client;
  }

private:
  std::string test_url = "http://postman-echo.com/get?foo1=bar1&foo2=bar2";
};

TEST_F(CurlClientTest, CurlClientInitTest) {
  std::cout << curl_client->getCurlUrl() << "\n";
}
#include“./src/include/CurlClient.h”
#包括
#包括
类CurlClientTest:公共测试::测试{
公众:
SimpleCURLClient::CurlClient*curl\u客户端;
虚拟空间设置(){
curl\u client=newsimplecurlclient::CurlClient(test\u url);
}
虚拟void拆卸(){
删除客户机;
}
私人:
std::字符串测试\u url=”http://postman-echo.com/get?foo1=bar1&foo2=bar2";
};
测试F(CurlClientTest,CurlClientInTest){

std::cout getCurlUrl()使用fixture的测试需要使用
TEST\F
宏。有关更多信息,请参阅Google测试入门中的

TEST_F(CurlClientTest, CurlClientInitTest) {
  std::cout << curl_client->getCurlUrl << "\n";
}
TEST\u F(CurlClientTest,curlclientinitest){

std::cout getCurlUrl您是否打算使用
TEST\u F
?您所说的“创建未声明的curl\u客户端指针”是什么意思?您遇到的错误具体是什么?请包括编译器的完整错误。@布赖恩,对不起,忘记添加错误,现在添加了。@chrisosen啊,是的!这就是问题所在,我必须使用TEST_F,谢谢!您可以提交您自己问题的答案,以便将其视为“已回答”。(人们通常会给@ChrisOlsen一个先写一篇的机会。)
#include "../src/include/CurlClient.h"
#include <gtest/gtest.h>
#include <string>

class CurlClientTest : public testing::Test {
public:
  SimpleCURLClient::CurlClient *curl_client;
  virtual void SetUp() {
    curl_client = new SimpleCURLClient::CurlClient(test_url);
  }

  virtual void TearDown() {
    delete curl_client;
  }

private:
  std::string test_url = "http://postman-echo.com/get?foo1=bar1&foo2=bar2";
};

TEST_F(CurlClientTest, CurlClientInitTest) {
  std::cout << curl_client->getCurlUrl() << "\n";
}
TEST_F(CurlClientTest, CurlClientInitTest) {
  std::cout << curl_client->getCurlUrl << "\n";
}