GTest 自动模拟 Class
GTest Automatic Mock Class
有一段时间我的旧项目使用 gmock_gen.py 自动生成模拟 类(这是 http://code.google.com/p/cppclean/ 的一个旧项目,它似乎不活跃,它依赖于 python2 我们不想要)
我的问题:
gtest 环境中是否有任何功能与 gmock_gen.py 相同并支持 python3,或者如果我们没有或不想使用 [=],gmock_gen.py 的替代方案是什么? 21=]?
此致,
努诺
看来转换成python3很简单
你只需要做两件事,而且只需要一件(第 2 步):
你可以使用python工具2to3将python2码转换成python3码(可选)
只更改一行以防止执行脚本时出现异常:
gmock_gtest/generator/cpp/ast.py:908
更改自:
def _GetNextToken(self):
if self.token_queue:
return self.token_queue.pop()
return next(self.tokens)
到
def _GetNextToken(self):
if self.token_queue:
return self.token_queue.pop()
return next(self.tokens, None)
这会奏效。
有一段时间我的旧项目使用 gmock_gen.py 自动生成模拟 类(这是 http://code.google.com/p/cppclean/ 的一个旧项目,它似乎不活跃,它依赖于 python2 我们不想要)
我的问题: gtest 环境中是否有任何功能与 gmock_gen.py 相同并支持 python3,或者如果我们没有或不想使用 [=],gmock_gen.py 的替代方案是什么? 21=]?
此致, 努诺
看来转换成python3很简单
你只需要做两件事,而且只需要一件(第 2 步):
你可以使用python工具2to3将python2码转换成python3码(可选)
只更改一行以防止执行脚本时出现异常:
gmock_gtest/generator/cpp/ast.py:908
更改自:
def _GetNextToken(self): if self.token_queue: return self.token_queue.pop() return next(self.tokens)
到
def _GetNextToken(self): if self.token_queue: return self.token_queue.pop() return next(self.tokens, None)
这会奏效。