我正在嘗試使用Shoulda和上下文來避免測試中的重複。在下面的測試中,我想期待以下輸出。爲什麼要執行相同的測試兩次
"dir created"
"dir removed"
,而是我有
"dir created"
"dir removed"
."dir created"
.
Finished tests in 0.001907s, 1048.7677 tests/s, 1048.7677 assertions/s.
2 tests, 2 assertions, 0 failures, 0 errors, 0 skips
爲什麼兩次執行第一次測試,我不明白?
這是我的測試代碼:
class FileDirTest < Test::Unit::TestCase
context "FileDir:" do
setup do
@fd = FileDir.new
@myDir = "dir1"
end
context "When dir is create:" do
setup do
@fd.create_dir(@myDir)
p "dir created"
end
should "be Dir1" do
assert_equal true, Dir.exist?(@myDir)
end
context "When delete a dir" do
setup do
@fd.remove_dir(@myDir)
p "dir removed"
end
should "be removed" do
assert_equal false, Dir.exist?(@myDir)
end
end
end
末 結束
好的測試不會按順序出現在列表中。它們從內部測試向外部測試執行。 「設置」 「目錄刪除」 然後 「設置」 –