orca-zhang

Results 65 comments of orca-zhang

``` .with(any(), any(), any(), outBound(var, )) ``` 这里的`out2`对应`var`

没有看太明白,每一个`EMOCK`对应都是一条单独的mock规范,如果想要有多种返回,可以设置多条不同规则的规范,比如在参数满足某些条件的时候才生效 ---- > 只让mock的函数在当前的test宏里生效 这个本来应该有一个`caller`约束的,能够约定调用者是某个函数的时候才能生效,不过目前是作废状态,还待修复

https://github.com/ez8-co/emock/commit/b7f60efbb06de9d4c0c8a01814d817d7b72f5200 https://github.com/ez8-co/emock/commit/14707f43606491b6d05ca8d6ee53bbe225b95c9d 这两个提交增加了常成员函数的支持,感谢反馈 可以参考例子:https://github.com/ez8-co/emock/blob/c0fa6b67673fa9eddda8e3c9f174c61a6a1fb01d/tests/ut/TestNonvirtualMethodMocker.h#L157

可以呀,`.with`这个可以不写的,也就是全局生效,不匹配指定的对象 ```cpp EMOCK(&CUT::normal_method_2) .stubs() .will(invoke(normal_method_2)); ``` 像例子的`eq(const_cast(&cut))`条件也可以写成`any()`来实现匹配任意的`CUT const`对象 ```cpp EMOCK(&CUT::normal_method_2) .stubs() .with(any(), eq(2)) .will(invoke(normal_method_2)); ``` 这种情况下,主要是为了说明后面第二个参数的`eq(2)`,所以第一个参数要有一个占位,否则可以直接不写`.with`

try to use: ``` cpp EMOCK(&CLASS_NAME_B::FUNCTION_NAME_B) .expects(once()) .after("1") .will(ignoreReturnValue()); ```

我尝试修复了一下,再试试看还有其他错误不

我搭个MinGW环境看看

连续调用目前没有限制,但是就和实际效果一致,单条约定中设置多个返回后续的不会生效,可以考虑以下方案: 方案一,用`returnObjectList` ``` cpp will(returnObjectList(10, 6, 666)) ``` 方案二,用`invoke` ``` cpp will(invoke(mock_func)) ``` 在`mock_func`里控制返回的值 方案三,写成多条约定 ``` cpp EMOCK(xxx).expects(once()).will(returnValue(10)); EMOCK(xxx).expects(once()).will(returnValue(6)); EMOCK(xxx).expects(once()).will(returnVaule(666)); ```

收到反馈