gpt4 book ai didi

testing - 具体实例方法和静态测试方法一样糟糕,对吧?

转载 作者:行者123 更新时间:2023-11-28 20:33:42 27 4
gpt4 key购买 nike

如果方法 A() 调用静态方法 B(),这很糟糕,因为两者紧密耦合,对吗?

但是,如果 A() 不是调用 B(),而是调用某个具体类的非静态方法 C() ,这对测试同样不利,对吗?因为现在 A() 耦合到拥有 C() 的具体类。

唯一好的情况是使用接口(interface)(即依赖注入(inject)),并且 A() 调用接口(interface)的方法。

我说的对吗?静态方法不利于测试还有其他原因吗?

最佳答案

第一种情况“不好”,因为它很难交换正在调用的 B()

第二种情况可能没有那么“糟糕”,因为根据您获取拥有 C() 的类的实例的方式,您可能能够将该对象交换为另一个对象(说一个子类)。

第三种情况通常是“最好的”,因为它允许您更轻松地更改 A() 的实现,但这只有在没有提供具体类的硬编码构造的情况下才是正确的A()(即只有在实际使用依赖注入(inject)时才为真)。

关于testing - 具体实例方法和静态测试方法一样糟糕,对吧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6013223/

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