Gtest:“{”之前预期的类名

2024-01-01

我正在尝试将 Gtest 下的测试用例转换为使用测试夹具,以便在添加更多测试时可以有一个通用的设置。然而,这会导致错误:

test_integrate.cc:4:47: error: expected class-name before '{' token
  class IntegratorTest : public ::testing::test {

这种失败是我无法理解的,因为根据我的经验,它通常是由循环导入引起的,并且与工作代码相比,导入没有变化。完整代码如下:

#include "gtest/gtest.h"
#include "utils/integrate.hpp"

class IntegratorTest : public ::testing::test {
protected:
    Integrator integ;
    VectorXf v, xdot;
    float cur_time;

    virtual void SetUp() {
        integ = Integrator(1.0);
        v = VectorXf::Ones(10);
        xdot = VectorXf::Ones(10);
        cur_time = 0.0;
    }
};

TEST_F(IntegratorTest, Euler) {
    // Use e^t for a simple test algorithm
    for (short i = 1; i < 5; i++) {
        v = integ.Euler(v, xdot, cur_time);
        xdot *= 2.0;
        EXPECT_EQ(i, cur_time);
        EXPECT_EQ(xdot, v);
    }
}

如果我删除固定装置并在测试用例中初始化设置,则代码可以正常编译。该工作代码如下。

#include "gtest/gtest.h"
#include "utils/integrate.hpp"

TEST(Integrate, Euler) {
    Integrator integ = Integrator(1.0);
    VectorXf v = VectorXf::Ones(10);
    VectorXf xdot = VectorXf::Ones(10);
    float cur_time = 0.0;

    // Use e^t for a simple test algorithm
    for (uint16_t i = 1; i < 5; i++) {
        v = integ.Euler(v, xdot, cur_time);
        xdot *= 2.0;
        EXPECT_EQ(i, cur_time);
        EXPECT_EQ(xdot, v);
    }
}

我似乎找不到任何解释如何解决此错误以便它允许我进行编译的内容。

为了以防万一,为了编译,我在最新的 El Capitan OS X 上运行通过 Homebrew 安装的 GCC 5.3.0。


您要继承的类称为::testing::Test, not ::testing::test

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gtest:“{”之前预期的类名 的相关文章

随机推荐

  • 按因子级别拆分数据帧并按这些级别命名数据帧

    我想按因子变量之一的级别拆分现有数据帧 以便拆分数据帧的名称与因子的级别相对应 df lt data frame cbind X 1 10 Y rnorm 10 Z sample LETTERS 1 3 10 replace TRUE If
  • 使 div 自动向左而不是向右扩展宽度

    我的网站上有一个 div 其中包含充当菜单的项目列表 我已经设置了CSSwidth auto这样 如果菜单项太长 它会重新调整大小 但目前 这将扩展到右侧 并将我的其余内容 推 到右侧 这很难解释 所以举个例子 如果你去http redsq
  • C 中 _Bool 和 bool 类型之间的区别?

    谁能解释一下两者之间有什么区别 Bool and boolC 中的数据类型 例如 Bool x 1 bool y true printf d x printf d y 这些数据类型是在 C99 中添加的 自从bool在 C99 之前没有保留
  • 如何在 Sails js (nodejs MVC) 中使用外部 REST API

    我正在使用 sails js 作为 Node js 的 MVC 我仍在学习它 我设法从自己的数据库中获取数据并使用它 但现在我需要 想要从外部 REST API 获取数据 我在我的控制器中使用了这个 api controllers Some
  • C++ 的首选命名约定是什么?

    通过查看 boost 库和 stl 然后查看人们的示例 我感到非常困惑 看起来大写的类型名称都散布在所有小写字母中 并用下划线分隔 如今 事情到底应该怎样做呢 我知道 NET 世界有自己的一套约定 但它似乎与 C 领域完全不同 你打开了一个
  • 监听来自 Dart 的 javascript 事件

    Dart 有没有办法监听 javascript 库中的事件 例如 jqrangesliderhttp ghusse github io jQRangeSlider http ghusse github io jQRangeSlider 当有
  • 过滤字典内的数组 - Swift

    我正在尝试搜索索引字典以根据客户的姓氏返回特定客户 以下是我正在使用的数据结构 每个客户端对象都有一个名称属性 它是一个字符串 var clients Client loadAllClients Returns client array v
  • 滚动条触发的jquery mouseleave文档

    document ready function document mouseleave function desktop subscribe modal modal show 我试图在鼠标离开文档窗口时触发一个功能 上面的代码在 Firef
  • knitr 的 kable 将 2.29e-30 打印为“0”

    CODE some data dat lt data frame log2fc c 0 28 10 82 8 54 5 64 8 79 6 46 pvalue c 0 00e 00 2 29e 30 7 02e 30 4 14e 29 1
  • Firebase 流式 REST 连接是否计入并发连接限制?

    In a 最近的问题 https stackoverflow com q 28229543 209103有人指出Firebase 定价文档 https www firebase com pricing html states REST AP
  • 是否可以在 Eclipse 中从多个包运行 JUnit 测试?

    是否可以同时运行多个包的 JUnit 测试 而无需手动创建测试套件 例如 如果我有层次结构 代码 branchone代码 branchone aaa代码 branchone bbb代码 branchtwo代码 branchtwo aaa代码
  • 在整个 Webresource.axd 中使用嵌入式 WebResources

    问题很简单 如何在 ASP NET 应用程序中使用嵌入式资源 将资源包含在程序集中的步骤是什么 以及如何引用它 可能会遇到哪些问题 编辑 对于未引用 Page 和 ClientScript 的版本 请参阅在 Razor 视图上处理嵌入式资源
  • 正则表达式匹配星号和换行符之间的字符串

    例子 blah blah Match this text Match this text Match this text Match this text Match this text more text more text 如何从星号内部
  • Semantic-ui 与 Bootstrap [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 哪一种最好用 如果可能 请提供这两者的区别和优点 语义用户界面 http semantic ui com vs 引导程序 http getboo
  • 将 Rails 应用程序部署到 Heroku 不断崩溃

    这个答案似乎已经以多种方式得到了回答 但似乎没有一个适合我的确切问题 我正在使用 RailsApps 中的应用程序https github com RailsApps rails devise pundit https github com
  • 如何将git存储库的根设置为vi/vim查找路径?

    我想设置 vim 文件搜索路径以包括 git 存储库根 可以通过以下方式找到 git rev parse show toplevel 我不知道如何附加这个输出git命令 set path 在 vimrc 中 Thanks 您可以使用此命令
  • 在从 XAML 实例化的控件中使用 MEF

    我创建了一个 UserControl 它使用 Import 属性 public class MyUserControl UserControl IPartImportsSatisfiedNotification Import public
  • 使用正确的派生类型调用泛型方法

    我有以下场景 我有三个课程 我们称它们为A B and C 它们的共同点是它们继承自相同的接口 ISomeInterface它们是使用实体框架映射到实体的类 我有一个方法接收实现此接口的对象列表 但对象本身将是A B or C 方法外壳看起
  • 网格碰撞器在应该有孔的地方有墙壁并且变形了

    我的曲线水管模型需要一个曲线圆柱对撞机 以便我的玩家红色立方体可以轻松通过 我尝试了网格碰撞器 它不起作用 还尝试了另一种技巧 我在搅拌机中构建了 2 个模型 一个用于网格渲染 一个用于碰撞器 作为一个整体 九分之一导致网格碰撞器无法在整个
  • Gtest:“{”之前预期的类名

    我正在尝试将 Gtest 下的测试用例转换为使用测试夹具 以便在添加更多测试时可以有一个通用的设置 然而 这会导致错误 test integrate cc 4 47 error expected class name before toke