Saya mencoba membuat penguji menggunakan googletest. masalahnya adalah fungsi yang saya uji mengembalikan kekosongan dan malah mencetak hasilnya. Saya ingin string terakhir dicetak ke konsol sehingga saya dapat menguji hasilnya. string mungkin berisi \n
.
jadi saya punya fungsinya sendiri:
void f_sequence(char sequenceStr[])
{
//logic...
if(condotion1)
printf("somthing1");
else if(condotion2)
printf("somthing2")
(...)
}
dan kemudian penguji:
TEST(TesterGroup, TesterName)
{
f_sequence("input");
EXPECT_EQ("somthing1", /*how do i get the output?*/);
}
Apa itu mungkin?
Fungsi yang saya uji ada di c, sedangkan fungsi Test itu sendiri (penguji) ada di c++. hasilnya dicetak menggunakan printf
. Saya tidak dapat mengubah fungsinya sendiri. Saya menggunakan CLion versi terbaru.
std::ostream&
alih-alih hanya mencetak ke stdout/stderr? - person jtbandes   schedule 19.02.2020stdout
ke dalam buffer ukuran dinamis. Saya telah mengujinya hingga 2GBytes ketika membaca panggilan direktori rekursif ke Windows. ( Ini yang asli, sebelum ditinjau. ) - person ryyker   schedule 19.02.2020