ฉันกำลังพยายามสร้างผู้ทดสอบโดยใช้ googletest ปัญหาคือฟังก์ชันที่ฉันกำลังทดสอบคืนค่าเป็นโมฆะและพิมพ์ผลลัพธ์แทน ฉันต้องการพิมพ์สตริงสุดท้ายลงในคอนโซลเพื่อทดสอบเอาต์พุต สตริงอาจรวมถึง \n
ดังนั้นฉันจึงมีฟังก์ชันของตัวเอง:
void f_sequence(char sequenceStr[])
{
//logic...
if(condotion1)
printf("somthing1");
else if(condotion2)
printf("somthing2")
(...)
}
แล้วผู้ทดสอบ:
TEST(TesterGroup, TesterName)
{
f_sequence("input");
EXPECT_EQ("somthing1", /*how do i get the output?*/);
}
เป็นไปได้ไหม?
ฟังก์ชั่นที่ฉันทดสอบอยู่ใน c ในขณะที่ฟังก์ชั่นการทดสอบเอง (ผู้ทดสอบ) อยู่ใน c++ เอาต์พุตถูกพิมพ์โดยใช้ printf
ฉันไม่สามารถเปลี่ยนฟังก์ชันเองได้ ฉันใช้ CLion เวอร์ชันล่าสุด
std::ostream&
แทนที่จะพิมพ์เป็น stdout/stderr ได้หรือไม่ - person jtbandes   schedule 19.02.2020stdout
ลงในบัฟเฟอร์การปรับขนาดแบบไดนามิก ฉันได้ทดสอบมากถึง 2GBytes เมื่ออ่านการเรียกไดเรกทอรีแบบเรียกซ้ำไปยัง Windows ( นี่คือต้นฉบับ ก่อนทบทวน ) - person ryyker   schedule 19.02.2020