我剛剛更新到Ruby 1.9.1和幾乎所有我的rspec破碎給我一個「無法修改凍結的對象」。即使來自generate rspec_controller的Rspec示例代碼也會失敗。 RuntimeError in 'DownloadsController should use DownloadsController'
can't modify frozen object
我試圖測試軌道助手裏面的HTML塊的方法: def dashboard_widget(header, &proc)
concat('<div class="dashboard-widget">')
etc
end
代碼工作完全在開發環境中,但下面的測試失敗: it "should be created" do
helper.dashboard_widget('M
我正在嘗試爲我的腳本收到的命令行參數規定行爲,以確保所有驗證都通過。我的一些命令行參數會導致abort或exit被調用,因爲提供的參數丟失或不正確。 我想這樣的事情這是不工作: # something_spec.rb
require 'something'
describe Something do
before do
Kernel.stub!(:exit)
e
我有一個小框架,它使用內置於ruby的Logger對象記錄一些信息和調試消息。在運行時,這很好。在單元測試時間(使用rspec,如果它很重要...)我想將記錄的消息轉儲到內存字符串變量中。做這件事最簡單的方法是什麼? 我正在考慮猴子補丁將取代信息和調試方法,像這樣:
class Logger
def info msg
$logs = msg
super msg
如果我有這樣的 describe 'Foo' do
// init go here
describe 'Sub-Foo' do
it "should Bar" do
// test go here
// puts ... <-- need "Foo.Sub-Foo should Bar" here
end
end
en