gpt4 book ai didi

python - 为返回对象层次结构的函数编写单元测试

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

我有一个函数可以对输入向量列表执行层次聚类。返回值是对象层次结构的根元素,其中每个对象代表一个集群。我想测试以下内容:

  1. 每个集群是否包含正确的元素(可能还有其他属性)?
  2. 每个集群是否指向正确的 child ?
  3. 每个集群是否指向正确的父级?

我这里有两个问题。首先,如何以可读格式指定预期输出。其次,如何编写测试断言接受我提供的预期数据的同构变体?假设预期层次结构中的一个集群有两个 child ,AB。现在假设该簇由具有属性 child1child2 的对象表示。我不关心 child1 是否对应于集群 AB,只是它对应于其中一个,而 child2 对应另一个。该解决方案应该比较通用,因为我将使用不同的输入数据编写多个测试。

实际上,我的主要问题是找到一种方法,以可读易懂的方式指定预期的输出。有什么建议吗?

最佳答案

如果存在同构结果,您可能应该有一个可以测试逻辑等价性的谓词。这可能对您的代码单元有好处,也有助于实现单元测试。

这是 Manoj Govindan 在没有字符串中间体的情况下回答的核心,并且由于您对字符串中间体不感兴趣(大概),因此将它们添加到测试机制将是不必要的错误来源。

至于可读性问题,您需要展示您认为不可读的内容才能给出正确的答案。也许等价谓词会避免这一点。

关于python - 为返回对象层次结构的函数编写单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3487507/

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