gpt4 book ai didi

python - pyhamcrest修改 "got"描述

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:35 26 4
gpt4 key购买 nike

我编写了一个自定义 hamcrest 匹配器,用于检查列表中的文件是否已被复制。该列表可能很长(1000 个以上文件),因此如果缺少一个文件,我不希望匹配器打印出整个列表。

我可以为丢失的文件进行自定义描述,但是有没有办法修改 Got: <list of files>还有一部分吗?

完整代码:

class FilesHaveBeenCopied(BaseMatcher):
def __init__(self):
self.missing = None

def _matches(self, source_files):
try:
self.missing = next(f for f in source_files if not os.path.exists(target_of(f)))
except StopIteration:
return True
return False

def describe_to(self, description):
description.append_text("file to be copied '{0}'".format(self.missing))

def have_been_copied():
return FilesHaveBeenCopied()

用法:

assert_that(self.source_files, have_been_copied())

最佳答案

覆盖describe_mismatch以覆盖完整的实际值:

def describe_mismatch(self, actual, description):
description.append(self.missing)

您的describe_to应该描述预期值,而不是缺失值。或者也许它应该只报告文件数量,例如“21 个现有文件的列表”。

关于python - pyhamcrest修改 "got"描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21834281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com