python - doctest 预期为 True,得到 True

标签 python doctest

doctest 很难控制。我遇到过这样的问题

函数

from collections import namedtuple

Match = namedtuple('Match', ['token_string', 'normalised_token',
                     'brand_name', 'brand_id',
                     'score'])


def make_match(tokens, normalised, brand, score):
"""
Examples:
>>> make_match('Jack Jones','JackJones',('Jack Jones','X023'),0.6)==Match('Jack Jones','JackJones','Jack Jones','X023',0.6)
True 
>>> make_match('Jack Jones','JackJones',('Jack Jones','X023'),0.6)==('Jack Jones','JackJones','Jack Jones','X023',0.6)
True
>>> match=make_match('Jack Jones','JackJones',('Jack Jones','X023'),0.6)
>>> match.token_string=='Jack Jones'
True
"""
return Match(token_string=tokens,
         normalised_token=normalised,
         brand_name=brand[0],
         brand_id=brand[1],
         score=score)

但出现错误

Failed example:
make_match('Jack Jones','JackJones',('Jack Jones','X023'),0.6)==Match('Jack Jones','JackJones','Jack Jones','X023',0.6)
Expected:
    True 
Got:
    True

1 项失败:

难道 Expected 没有完全匹配 Got 吗? 非常感谢 1 of 4 in utilization.make_match 测试失败 1 次失败。

最佳答案

您在指定预期返回值的行上有尾随空格,因此 doctest 实际上是将字符串 "True "True 的实际返回值进行比较

关于python - doctest 预期为 True,得到 True,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997336/

相关文章:

python - Pandas - 在 zip 存档中保存多个 CSV

python - 获取 pandas 中包含字符串的列数

python - 导入模块前的 nose-doctest 模块夹具

python - pytest 无法在 Python 2.7 下处理 README 中 doctest 中的 Unicode

python - 在 R 中使用 system() 调用 python 以运行模拟 python 控制台的 python 脚本

python - 使用 Flask 在 Heroku 上出现 500 内部服务器错误

python - python doctest中的对象重用

python - 从复制和粘贴的 doctest 中删除 '>>> '

python - 由于 unicode 导致 u 导致 Doctest 失败

python - 如何将文件结构表示为 python 对象