gpt4 book ai didi

unit-testing - 使用模拟类进行单元测试

转载 作者:行者123 更新时间:2023-11-28 20:30:32 26 4
gpt4 key购买 nike

我看过的一些网站指出,当您(开发人员)正在实现您的类 (X) 时,它依赖于另一个类 (Y) 的信息,并假设您的开发团队尚未开发类 (Y) , 然后在类 (X) 的单元测试中你应该模拟类 (Y)。

我想知道的是,当开发团队最终实现类 (Y) 时,您应该怎么做?类 (X) 的开发人员现在是否必须返回他/她创建类 (Y) 的模拟并调用真实对象的单元测试?

如果我们将真正的开发时间表放入透视图,类 (X) 可能已经在类 (Y) 之前一个月或更长时间实现,并且类 (X) 的开发人员还为类 (X) 编写了单元测试) 可能已经转移到分配给他/她的其他任务;这个人现在怎么能分配时间回去重新投入时间来重写他们的旧单元测试——这难道不是一场管理噩梦吗?

最佳答案

所以,我想说的是,如果您只是将模拟保留在其中,您可以在测试中实现更好的分离和独立性——您可以通过这种方式进行真正的单元测试,而如果您要用实际的实例替换模拟类,那么您正在创建集成测试。这真的是两种思想流派,mockist vs. classical .就个人而言,我更喜欢 mockist 风格,并且很高兴知道我的测试更能适应变化,因为我是这样写的。如果我做更多的经典风格测试,就会有更多测试失败的原因(可能是我的测试对象依赖于其行为的任何底层实现的变化)并且当测试失败时,它会更少明确导致失败的确切原因。

关于unit-testing - 使用模拟类进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29108386/

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