gpt4 book ai didi

oop - 单元测试不同的类层次结构

转载 作者:行者123 更新时间:2023-11-28 20:12:22 25 4
gpt4 key购买 nike

进行考虑不同类层次结构的单元测试的最佳方法是什么,例如:

我有一个基类 Car 和另一个基类 Animal

Car 有派生类 VolksWagenFord。Animal 有派生类 DogCat

您将如何开发在运行时决定要使用哪种对象的测试。考虑到这些测试将应用于数百万个对象,在不使用代码复制的情况下实现此类测试的最佳方法是什么来自不同的层次结构?

这是问我一个 friend 的面试问题。

最佳答案

我所看到的问题:避免重复通用测试来验证通用基类型的 n 个派生。

  • 创建抽象测试夹具。在这里,您使用抽象方法 GetTestSubject() 在抽象基类(搜索词“抽象测试夹具”)中编写针对基类型 & 的测试。此类型的派生覆盖方法以返回要测试的类型的实例。因此,您需要使用一个覆盖的方法编写 N 个子类型,但您的测试将只编写一次。
  • NUnit 等一些单元测试框架支持“参数化测试”(搜索词)——您必须在其中实现一个方法/属性,该方法/属性将返回测试需要针对的所有对象。然后它将在运行时针对每个此类对象运行一个/所有测试。这样您就不需要编写 N 个推导 - 只需一个方法。

关于oop - 单元测试不同的类层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041740/

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