我有一个函数,它要求一个方法(一个不同于被测函数的函数)被模拟8次。它有2个参数。
让我说我在嘲笑一个函数 - void func(const char * a,const char * b) 此函数func在被测函数内调用8次。
如何编写gtest来顺序模拟8个调用,并通过检查每个调用的参数对被测函数进行单元测试。对于此示例,我想验证所有8个调用中的值a和b并通过测试。每次调用所有八个调用时都使用不同的参数。请帮助我。
答案 0 :(得分:1)
它隐藏在这里的文档中:https://github.com/google/googletest/blob/master/googlemock/docs/CookBook.md#knowing-when-to-expect
EXPECT_CALL不仅定义了行为,还设置了一个期望,即在给定次数的情况下使用给定的参数调用方法(并且在指定顺序时也按照给定的顺序)。
所以只需按正确的顺序设置8个EXPECT_CALL
的调用,并为每个调用设置预期的参数。