首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的5个测试中只有2个运行在我的Google C++测试框架上?

为什么我的5个测试中只有2个运行在我的Google C++测试框架上?
EN

Stack Overflow用户
提问于 2014-12-05 22:38:06
回答 1查看 38关注 0票数 0

这是文件

代码语言:javascript
复制
#include <gtest/gtest.h>

#include <libLoam/c++/LoamStreams.h>
#include "../DateParser.h"

using namespace oblong::sluice;

TEST(DateParser, TestDefaultFormat)
{ DateParser parser;
  float64 when;
  EXPECT_EQ (OB_OK, parser . Parse ("12345.0", when));
  EXPECT_FLOAT_EQ (12345.0, when);
}

TEST(DateParser, TestYMDStuff)
{ DateParser parser;
  parser . AppendDateFormat ("%Y-%m-%d %H:%M:%S");
  float64 when;
  EXPECT_EQ (OB_OK, parser . Parse ("2011-11-14 19:12:21", when));
  const float64 expected = 1321297941.0;
  EXPECT_FLOAT_EQ (expected, when);
  EXPECT_FLOAT_EQ (0, when - expected);
} 

TEST(DateParser, TestJavaStringStuff)
{ DateParser parser;
  parser . AppendDateFormat ("%Y-%m-%dT%H:%M:%SZ");
  float64 when;
  EXPECT_EQ (OB_OK, parser . Parse ("2011-09-18T09:49:47Z", when));
  const float64 expected = 1316339387.0;
  EXPECT_FLOAT_EQ (expected, when);
  EXPECT_FLOAT_EQ (0, when - expected);
}

TEST(DateParser, TestAM/PMStuff)
{ DateParser parser;
  parser . AppendDateFormat ("%Y-%m-%d %I:%M:%S%p");
  float64 when;
  EXPECT_EQ (OB_OK, parser . Parse ("2011-11-14 10:12:21AM", when));
  const float64 expected = 1321265541.0;
  EXPECT_NEAR (when, expected, 1) << "Time should be close to expected " << (when - expected);
}

TEST(DateParser, TestTimeZoneStuff)
{ DateParser parser;
  parser . AppendDateFormat ("%Y-%m-%d %I:%M:%S%Z");
  float64 when;
  EXPECT_EQ (OB_OK, parser . Parse ("2011-11-14 10:12:21GMT", when));
  const float64 expected = 1321265541.0;
  EXPECT_NEAR (when, expected, 1) << "Time should be close to expected " << (when - expected);
}

TEST(DateParser, TestOtherTimeZoneStuff)
{ DateParser parser;
  parser . AppendDateFormat ("%Y-%m-%d %I:%M:%S%z");
  float64 when;
  EXPECT_EQ (OB_OK, parser . Parse ("2011-11-14 10:12:21+0900", when));
  const float64 expected = 1321297941.0;
  EXPECT_NEAR (when, expected, 1) << "Time should be close to expected " << (when - expected);
}

然而,当我尝试测试时,它只执行前两个测试(TestDefaultFormat和TestYMDStuff)。更糟糕的是,如果我删除一个测试,那么它只会测试1(正确),但是如果我添加回删除的测试,它就不再测试它了。因此,如果我删除TestYMDStuff,编译并运行它,它只会测试第一个。然后,如果我添加回TestYMDStuff,它仍然只运行第一个测试,更不用说在那个测试之后添加的任何新测试了。

这可能是什么?我的语法不正确吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-05 23:07:09

啊哈。答案是,您不能在测试的标题中包含/s。我的一个测试名为TestAM/PMStuff。更改为TestAMPMStuff可以修复所有问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27325812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档