我用cdt和一个包含flex和bison生成的文件的项目,项目运行完美,但我无法将其作为单元测试运行,这里是我尝试过的事情:
正如this问题的答案所说,我找不到测试已经存在的项目的方法,所以这不起作用。
CppUnit已经老了,因为答案说(尽管我没试过,但我不想要旧的东西)。
正如this问题所述,单元测试现在是cdt的一部分,我安装了它并安装了googletest并按照说明操作,但是当我运行它时,它说:Unknown error during parsing Google Test module output : Unexpected test module output
。
This是获得相同消息的另一个问题,但它没有答案(评论除外,我在设置cdt单元测试时遵循的答案相同)。
在我运行此测试后,我在yacc.cpp和lex.yy.cc中遇到编译器错误,这是我在正常运行项目时没有得到的。
我是一名大学生,与四位同事一起做项目,我们正在建立一个由教授指定的语言的编译器。
我看过“bison flex unit testing”的问题,就是这样:Unit test of flex bison scanner parse, how to drive the test case
但问题的海报是使用C,我们被限制在扫描程序和解析器中使用C ++,所以这个问题对我没有帮助。
因为在没有单元测试的情况下运行项目运行良好,我认为错误不在于我的yacc.y或lex.l,这就是为什么我没有发布它们,如果需要它我会编辑我的问题。
最后一件事,我正在运行linux mint 17.1 64bit。