GoogleTest获得虚假报道

时间:2014-07-10 13:51:03

标签: c++ googletest

所以我正在为我工​​作的公司做单元测试。我正在处理一个正在运行的应用程序,我需要从外部源终止,该工作正常。那么问题是我知道我正在测试的函数被调用了。函数内部的语句也在执行中,我在整个函数中放了28个cout语句,所有这些语句都在控制台上打印出来。当我最终终止应用程序并打开.gcno文件以查看覆盖范围时,也打开了。我看看%覆盖率,它说我只有3.09%的覆盖率。然后我知道一个事实,我的所有cout声明都被打印出来,所以显然那些被击中并且应该显示覆盖但是显示为红色。正如所有其他语句和调用的函数一样,运行到连续while循环是红色的,意思是不调用。但是while循环内在" uncalled函数"是绿色的,被击中了54次。

我很困惑,并认为这是一个Google测试问题,我只是想知道是否有其他使用过Google测试的人之前遇到过这个问题,当你知道事情正在受到打击和调用时,但GTest说它不是。< / p>

感谢您的帮助!

这是我正在使用的makefile我认为这是你想看到的

################################################################################
# Automatically-generated file. Do not edit!
################################################################################

-include ../makefile.init

RM := rm -rf

# All of the sources participating in the build are defined here
-include sources.mk
-include test/subdir.mk
-include src/subdir.mk
-include subdir.mk
-include objects.mk

ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
endif

-include ../makefile.defs

# Add inputs and outputs from these tool invocations to the build variables 

# All Target
all: TestSomething

# Tool invocations
TestSomething: $(OBJS) $(USER_OBJS)
@echo 'Building target: $@'
@echo 'Invoking: GCC C++ Linker'
g++ -L/proj/COTS/log4cxx/current/lib64 -L/usr/pgsql-9.3/lib64 -L/proj/COTS/ldapc++            /current          /lib64 -L/proj/COTS/qpid/current/lib64 -L/proj/COTS/protobuf/current/lib64 -L/proj    /COTS/boost/current/lib64 -m64 -fprofile-arcs -o "TestSomething" $(OBJS)     $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '

# Other Targets
clean:
-$(RM) $(OBJS)$(C++_DEPS)$(C_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(CXX_DEPS)$(C_UPPER_DEPS)         TestSomething
-@echo ' '

.PHONY:所有干净的家属 .SECONDARY:

-include ../ makefile.targets

0 个答案:

没有答案