gpt4 book ai didi

ruby - 在 Ruby (rspec) 中测试私有(private)方法

转载 作者:数据小太阳 更新时间:2023-10-29 06:22:06 26 4
gpt4 key购买 nike

<分区>

是的,我知道,测试私有(private)方法不是一个好主意(而且我阅读此线程 - http://www.ruby-forum.com/topic/197346 - 还有一些其他)

但是我怎样才能测试下面的代码呢?

我使用 xmpp4r。在我的公共(public)方法 #listen 中,我开始接收 jabber像这样的消息:

def listen
@client.add_message_callback do |m|
do_things_with_message(m)
end
end

private
def do_things_with_message(m)
#
end

#add_message_callback - 运行 block ,当消息到来时(在不同的线程中)

因此,测试#listen 方法很困难,它更多地测试xmpp4r比我的#do_things_with_message

如何做好并测试 #do_things_with_message?:)( http://www.ruby-forum.com/topic/197346#859664 )

将私有(private)方法重构为一个新对象本质上就像我将它们设为公共(public)(并且类只有一个方法——这是毫无意义的

编辑:这更多是关于干净代码和正确测试的理论问题。在我的第一个链接中,人们认为测试私有(private)方法很糟糕。我不想用 #send 作弊,但我也没有看到任何可行的重构方法

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