0

我试图运行这个单元测试(ttt.hpp):

#include <cxxtest/TestSuite.h>

class TestT : public CxxTest::TestSuite{
public:
  void test_t1(){
    TS_ASSERT_EQUALS(0,1);
  }
  void test_t2(){
    TS_ASSERT_EQUALS(0,1);
  }
  void test_t3(){
    TS_ASSERT_EQUALS(0,1);
  }
  void test_t4(){
    TS_ASSERT_EQUALS(0,1);
  }
  
};

通过执行:

cxxtestgen --error-printer --have-eh --abort-on-fail -o testrunner_abort.cpp ttt.hpp
g++ -O0 testrunner_abort.cpp -o aa.out
./a.out

但正如文档所述,它不会因任何失败而中止:

Running cxxtest tests (4 tests)
In TestT::test_t1:
ttt.hpp:6: Error: Expected (0 == 1), found (0 != 1)
In TestT::test_t2:
ttt.hpp:9: Error: Expected (0 == 1), found (0 != 1)
In TestT::test_t3:
ttt.hpp:12: Error: Expected (0 == 1), found (0 != 1)
In TestT::test_t4:
ttt.hpp:15: Error: Expected (0 == 1), found (0 != 1)
Failed 4 and Skipped 0 of 4 tests
Success rate: 0%

(我也尝试用 gdb 执行它,没有任何报告,程序正常退出,只有退出代码非零,但没有关于中止...)

难道我做错了什么 ?

4

0 回答 0