gpt4 book ai didi

unit-testing - 您是否测试仅修改对象状态的方法?

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

我有一个对象,它有一个只修改内部状态的 public void 方法。我的一部分感觉好像它应该进行测试,因为它是一种公共(public)方法,但是您如何进行测试呢?您会打扰还是依赖其他利用内部状态已更改这一事实的测试?

添加一个示例,我正在实现一个 gap buffer它有一个插入方法和一个只修改内部状态的 moveCursorForward 方法。

谢谢,艾丽

最佳答案

我认为注入(inject)是你的答案。创建一个 Cursor 对象并将其注入(inject)到您的 Buffer 中。对游标对象进行单元测试,以便您知道它可以正常工作;)。由于游标是有状态的并且您已将其传递到缓冲区中,因此您可以在测试 moveCursorForward 时对游标对象进行断言。

查看 Michael Feather 的 Working Effectively with Legacy Code

这也是模拟对象可能有益的地方。

关于unit-testing - 您是否测试仅修改对象状态的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8421115/

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