當我有時間的時候我喜歡在codewars接受挑戰。 到現在爲止,我用test/unit
來做我的單元測試,但我現在想用Rspec
而不改變我的工作方式。這些是小的方法/文件/測試,所以我喜歡將所有內容放在一個腳本中。在一個文件中使用Rspec,如測試/單元
我使用Sublime Text運行幾乎所有的代碼,並在編輯器底部的窗口中獲取結果。
這裏我的工作test/unit
例如
require 'test/unit'
def anagrams(word, words)
words.select { |w| w.chars.sort == word.chars.sort }
end
class MyTest < Test::Unit::TestCase
def test_fail
assert_equal(['aabb', 'bbaa'], anagrams('abba', ['aabb', 'abcd', 'bbaa', 'dada']))
assert_equal(['carer', 'racer'], anagrams('racer', ['crazer', 'carer', 'racar', 'caers', 'racer']))
assert_equal([], anagrams('laser', ['lazing', 'lazy', 'lacer']))
end
end
這給出崇高下面的輸出
Loaded suite C:/Users/.../codewars/anagram
Started
.
Finished in 0.001 seconds.
------
1 tests, 3 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
------
1000.00 tests/s, 3000.00 assertions/s
[Finished in 0.3s]
在這裏,我嘗試了Rspec的
require 'rspec'
describe "Anagrams" do
def anagrams(word, words)
words.select { |w| w.chars.sort == word.chars.sort }
end
it "should only match the anagrams" do
anagrams('abba', ['aabb', 'abcd', 'bbaa', 'dada']) == ['aabb', 'bbaa']
end
end
在崇高的文本,我得到沒有輸出,如果我使用的話,只需一個空白的黑色窗口就可以執行腳本控制檯和運行rspec anagram.rb
我得到
.
Finished in 0.001 seconds (files took 0.10601 seconds to load)
1 example, 0 failures
我怎麼有我在同一個文件中的代碼和測試,只是通過運行在我崇高的文本編輯器中的腳本做了測試(和得到的輸出),以及如何我可以更好地重述這個測試?
您設法爲我獲得最重要的權利Stanko,與Sublime的融合,精彩!! – peter
很高興喜歡這個解決方案:) –