2010-07-24 104 views
2

我想從irb調用我的Sinatra應用程序中的幫助程序方法以測試其輸出。我知道我可以使用此tip獲得控制檯,我也嘗試過racksh。但是,如果我做了「定義?my_helper」,我總是得到零。必須有一些簡單的方法來獲得這些幫助者。我有一種感覺,這意味着挖掘一下Rack的架構。任何提示?如何從irb測試Sinatra助手?

回答

0

我試圖調用一個輔助方法從IRB我西納特拉的應用程序,以測試其輸出

不是命令行上測試它,需要Rspec。見How can I test helpers blocks in Sinatra, using Rspec?

+1

RSpec的似乎是爲做單元測試的幾種可能性之一。但是,我現在真的對單元測試不感興趣。我真的需要能夠動態地從交互式控制檯中查看某些方法的輸出,並根據我的選擇操縱輸出。我認爲我期望做的事情應該是可能的。 – Grynszpan 2010-07-25 00:33:38

+0

好的,仔細閱讀鏈接後,我會看到它是如何提供我想要的。我將我的幫助器分成一個單獨的helpermethods.rb文件,將它們存儲在該文件中的HelperMethods模塊中。然後在我的「irb -r helpermethods.rb」會話中,我可以調用「require HelperMethods」,將所有我的幫助器導入爲Object的類方法,並在需要時調用它們。 總之,謝謝你指出我在正確的方向。 – Grynszpan 2010-07-25 03:28:58

3

你當然可以通過IRB測試你的Sinatra助手。

假設你有一個助手方法foo是印有「巴茲」模塊化西納特拉應用:

require "my-app.rb" 
MyApp.new.helpers.foo # => "baz"