Zasadniczo chciałbym utworzyć tablicę, a następnie dołączyć do niej podczas mojej specyfikacji przed ostatecznym przetworzeniem i wyświetleniem jej użytkownikowi. Mogę wymyślić kilka obejść, ale najlepiej chciałbym wykonać następujące czynności.RSpec 2 przed (: pakiet) zakres zmienny
RSpec.configure do |config|
config.before(:suite) { @array_of_stuff ||= [] }
config.after(:suite) { process_and_print(@array_of_stuff) }
end
def process_and_print(array)
# do stuff
end
Niestety ale nie zaskakująco @array_of_stuff nie jest w zakresie i nie mogą być dołączane do od moich specyfikacji, w przeciwieństwie jeśli instalacyjny w przed (: all) blok.
Czy jest coś, co zapewnia RSpec, który uczyniłby coś takiego bardzo prostym?
bardzo cenione. – lebreeze
'add_setting' jest zdecydowanie _nie_ przeznaczone do tego! Dlaczego po prostu nie użyć zmiennej globalnej? Myślę, że byłoby bardziej jasne, co to jest i łatwiejsze do wykrycia podczas skanowania kodu. –
Zdecydowanie nieco hacky, ale działa idealnie. W inny sposób to zrobić? Korzystanie z globali powoduje wyświetlenie komunikatu: warning: dostęp do klasy class z poziomu tween – justingordon