我正在尝试使用C ++ / Codelite进行单元测试。我从codelite-plugins软件包(Ubuntu 18.04)安装了UnitTest ++插件。我也可以看到:

$ ls -la /usr/include | grep Unit
drwxr-xr-x  3 root root   4096 Mar  2 11:47 UnitTest++

$ sudo dpkg -l | grep unittest++
ii  libunittest++-dev         2.0.0-2      amd64        unit testing framework for c++, static library and headers
ii  libunittest++2:amd64      2.0.0-2      amd64        unit testing framework for c++, runtime library


因此,我在Codelite中创建了一个测试项目,并添加了以下内容:

#include <unittest++/UnitTest++.h> // This line and main are auto-created

TEST(SanityTest)
{
    CHECK_EQUAL(1, 1);
}

int main(int argc, char **argv)
{
    return UnitTest::RunAllTests();
}


现在,在按CTRL + F5后,我会期望得到测试结果。但是当我这样做时,我只会看到一个弹出窗口,说没有测试:

c&#43;&#43; - codelite unittest&#43;&#43;/UnitTest&#43;&#43;。h:没有这样的文件或目录-LMLPHP

我还注意到,当我转到Build> Build Project时,我收到一条错误消息:


  致命错误:unittest ++ / UnitTest ++。h:没有此类文件或目录


我也找到了THIS ANSWER,并根据那里的答案/注释尝试了不同的控制台命令变体,但始终没有得到相同的此类文件或目录错误。

知道我缺少什么吗?

编辑:

根据Stephen的Newell请求构建日志:

/bin/sh -c '/usr/bin/make -j8 -e -f  Makefile'
----------Building project:[ Test - Debug ]----------
make[1]: Entering directory '/home/callmebob/Documents/workspace-codelite/cpp/Test'
/usr/bin/g++  -c  "/home/callmebob/Documents/workspace-codelite/cpp/Test/main.cpp" -g  -o Debug/main.cpp.o -I. -I/usr/include/unittest++
/home/callmebob/Documents/workspace-codelite/cpp/Test/main.cpp:1:10: fatal error: unittest++/UnitTest++.h: No such file or directory
 #include "unittest++/UnitTest++.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Test.mk:95: recipe for target 'Debug/main.cpp.o' failed
make[1]: *** [Debug/main.cpp.o] Error 1
make[1]: Leaving directory '/home/callmebob/Documents/workspace-codelite/cpp/Test'
Makefile:4: recipe for target 'All' failed
make: *** [All] Error 2
====2 errors, 0 warnings====


另外,如果我右键单击该项目,请转至“设置”>“编译器”,我会看到:


  包含的路径= / usr / include / unittest ++

最佳答案

根据您的ls输出,看起来您应该将第一行更改为:

#include <UnitTest++/UnitTest++.h>


我不确定您链接的答案为什么使用小写的目录名;项目文档中的示例均使用大小写混合的目录名。

关于c++ - codelite unittest++/UnitTest++。h:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55023862/

10-13 08:31