테스트에서 중복을 피하기 위해 Shoulda와 context를 사용하려고합니다. 다음 테스트에서 나는 다음과 같은 출력을 기대합니다.동일한 테스트를 두 번 실행해야하는 이유
"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
끝 끝 설정이 모든 테스트 전에 실행되는 모든 테스트 프레임 워크에
테스트가 목록에 나타나기 전에 실행되지 않습니다. 그들은 내부 테스트에서 외부 테스트로 실행됩니다. "설정" 다음 는 "설정" –