可执行测试文件未运行测试

时间:2016-06-27 15:23:00

标签: c++ c++11 makefile

我创建了一个项目:

// func.h :
#ifndef FUNCS_H_
#define FUNCS_H_

int addInts(int i, int j);

#endif /* FUNCS_H_ */
// func.cpp
#include "func.h"

int addInts(int i, int j) {
    return i + j;
}
// main.cpp
#include "func.h"

#include <iostream>

int main() {
    std::cout << addInts(5, 7) << std::endl;
    return 0;
}
//makefile
OBJS := \
    main.o \
    func.o

CXX := g++

CXX_FLAGS := -Wall -Werror -Wextra -std=c++11

all: main_prj

main_prj: $(OBJS)
    $(CXX) $(OBJS) -lm -o main

-include $(OBJS:.o=.d)

%.o: %.cpp
    $(CXX) -c $(CXX_FLAGS) $*.cpp -o $*.o

clean:
    rm -f main $(OBJS)

我还为该功能创建了一个测试(加强测试):

// test/main_test.cpp
#define BOOST_TEST_MODULE main_test
#include <boost/test/included/unit_test.hpp>

//____________________________________________________________________________//


// FIXTURES ...

//____________________________________________________________________________//
// test/addInts/addInts_test.cpp
#include <boost/test/unit_test.hpp>

#include "../../func.h"

BOOST_AUTO_TEST_CASE(addInts_5_7) {
    int addInts_5_7 = 5 + 7;
    BOOST_CHECK_EQUAL(addInts_5_7, addInts(5, 7));
}
// test/makefile
OBJS_TEST := \
    main_test.o \
    addInts/addInts_test.o \
    ../func.o

CXX_TEST := g++

CXX_FLAGS_TEST := -Wall -Werror -Wextra -std=c++11

all_test: main_test_prj

main_test_prj: $(OBJS_TEST)
    $(CXX_TEST) $(OBJS_TEST) -lm -o main_test

-include $(OBJS_TEST:.o=.d)

%.o: %.cpp
    $(CXX_TEST) -c $(CXX_FLAGS_TEST) $*.cpp -o $*.o

clean_test:
    rm -f main_test $(OBJS_TEST)

现在,make命令工作,因此它们清理所有创建的文件,或者创建o文件和可执行文件。当我运行主文件时,输出是正确的:12;但是当我运行main_test文件时,输出有点奇怪:

Running 1 test case...

*** No errors detected

我希望输出运行测试和OK / KO,或通过/不通过...我无法弄清楚我做错了什么。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

你有一个测试。

输出显示已运行一个测试,并且未发现任何错误。

此输出显示为documented

这里没有问题。

但遗憾的是,the documentation on how to change this output缺乏...