我有一个功能框架来执行使用watir的Web自动化测试。在该框架中,有一个模块,其中包含许多方法,可以执行基本操作,例如单击对象,在输入中设置值以及验证确认消息。所以我的测试只是从那个模块调用那些方法并执行它们。 我的问题是,在我的方法中创建的对象是否符合GC的条件,或者如果我将它们隐式设置为nil则更好? 以下是我的框架模块中的示例:
module Base
def click(element_hash)
begin
obj = @browser.element(element_hash.keys[0],element_hash.values[0])
obj.when_present.click
report_pass("Element successfully clicked")
rescue=>exception
report_fail("Failed to click on object. #{exception})
end
end
我的一个测试看起来像这样:
sample_test_script.rb
include 'Base'
open_browser('url',:ff)
set_input(user_input_hash, 'user1')
set_input(pwd_input_hash, 'test123')
click(sign_in_hash)
verify(success_hash, 'Welcome')
click(acct_hash)
set_input(acct_inp_hash, '3123212321')
click(search_hash)
因为您可以分析来自上述文件的代码,所以最好将obj
从click
模块中的Base
方法设置为nil
以使其符合GC格式吗?或者在sample_test_script.rb
?