gpt4 book ai didi

python - 是否假设另一个单元测试已经测试了单元代码打破隔离的输入?

转载 作者:太空宇宙 更新时间:2023-11-04 10:43:52 25 4
gpt4 key购买 nike

我理解单元测试必须尽可能地隔离,即自包含并且不必依赖外部资源,例如数据库、网络访问甚至是之前单元测试的执行。

但是,假设我想测试 Y 类。Y 类使用 X 类。但是,我已经有一些测试 X 类的单元测试。

我认为在 Y 类的单元测试中,我可以假设 X 类正常工作并使用它的实例化来测试 Y 类(在 Y 类单元测试中实例化,因此没有残留物或其他污染)。

这是正确的吗?或者我是否需要在测试 Y 类时模拟 X 类或完全做其他事情?如果是这样或者我是否应该模拟 X 类,那是什么原因?

最佳答案

Y 类的单元测试应该只测试 Y 类的代码。您应该假设 Y 类所依赖的一切都已经在工作(并经过测试)。这是标准的单元测试。您想要减少外部依赖性,并尝试隔离您的测试,以便您实际上只在 Y 类的测试中测试 Y 类的功能,但在现实世界中,一切都是相互关联的。

在我看来,使用 X 类并假设它有效要比模拟 X 类以提供更纯粹的单元隔离要好得多。无论哪种方式,您都应该假设 X 类是一个黑盒子并且它有效。

关于python - 是否假设另一个单元测试已经测试了单元代码打破隔离的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18818608/

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