1

我想检查是否正在使用字符串调用函数 - 但是,如果使用 '%s' 创建该字符串以插入子字符串,它似乎会有所不同。测试失败并出现以下错误:

UnexpectedMethodCallError: Unexpected method call.  unexpected:-  expected:+
- foo('Hello %s', 'world') -> None
?            ------
+ foo('Hello world') -> None

无论字符串是如何创建的,如何检查是否在“Hello world”上调用了该方法?

4

2 回答 2

1

python中没有像“格式化字符串”这样的类型或类。只是串。我认为您的代码有错误。我的意思是,这是你的错。我敢打赌你正试图这样称呼它:

foo('Hello %s', 'world')

但是,您应该这样做

foo('Hello %s' % 'world')

这会给你预期的结果。

于 2014-06-19T19:31:47.443 回答
1

你应该做

'Hello %s' % 'world'

还有一系列比较器可以帮助您。如果您不关心字符串的值是什么,请调用:mox.IsA(str)。您也可以做mox.StrContainsmox.Regex进一步验证。

于 2014-06-19T19:38:35.860 回答