我想检查是否正在使用字符串调用函数 - 但是,如果使用'%s'创建该字符串来插入子字符串,它似乎会有所不同。测试失败并出现此错误:
UnexpectedMethodCallError: Unexpected method call. unexpected:- expected:+
- foo('Hello %s', 'world') -> None
? ------
+ foo('Hello world') -> None
如何在'Hello world'上检查方法是否被调用,无论字符串是如何创建的?
答案 0 :(得分:1)
没有类型和类似#34;格式化的字符串"在python中。只是字符串。我认为你的代码中有错误。我的意思是,这是你的错。 我打赌你试图这样称呼它:
foo('Hello %s', 'world')
但你应该做
foo('Hello %s' % 'world')
这会给你预期的结果。
答案 1 :(得分:1)
你应该这样做
'Hello %s' % 'world'
还有一系列比较器可以帮到你。如果您不关心字符串的值是什么,请调用:mox.IsA(str)
。您也可以mox.StrContains
或mox.Regex
进一步验证。