所以,我开始使用catch使用Qt进行单元测试(普通c ++,但使用带有.pro文件的qmake)。
这是一个包含以下文件的小项目:
DatagramSocket.cpp/h
main.cpp - this contains a main() function
但是对于单元测试,它还有文件:
catch.hpp
unittestdatagramsocket.cpp - this contains a main() function
在我的.pro文件中,我可以像这样构建项目:
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
# TARGET = unittest-UDPDatagram
TARGET = UDPDatagram
SOURCES += \
main.cpp \
DatagramSocket.cpp \
# unittestdatagramsocket.cpp
HEADERS += \
DatagramSocket.h \
catch.hpp
LIBS += \
-lwsock32
-lws2_32
然后我可以运行UDPDatagram.exe - 它可以工作。
或者我可以为它进行单元测试:
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
TARGET = unittest-UDPDatagram
# TARGET = UDPDatagram
SOURCES += \
# main.cpp \
DatagramSocket.cpp \
unittestdatagramsocket.cpp
HEADERS += \
DatagramSocket.h \
catch.hpp
LIBS += \
-lwsock32
-lws2_32
然后我可以运行unittest-UDPDatagram.exe - 它可以工作。
我想要做的是每次都要构建(无论是调试还是发布)。这可能吗?
答案 0 :(得分:1)
不,每个.pro文件仅适用于单个可执行文件或库。但是你可以将共享的东西放在一个单独的.pro文件中,并将它包含在两个.pro文件中,每个文件都包含一个程序。