我正在尝试使用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
末 结束
好的测试不会按顺序出现在列表中。它们从内部测试向外部测试执行。 “设置” “目录删除” 然后 “设置” –