1
我如何重構以消除該規範的代碼重複:BDD/TDD與JSpec - 刪除重複代碼
describe 'TestPlugins'
describe '.MovieScanner(document)'
before_each
MoviePage_loggedIn = fixture("movie_logged_in.html") // Get logged-in movie page
MoviePage_notloggedIn = fixture("movie_not_logged_in.html") // Get non logged-in movie page
scanner = new MovieScanner() // Get movie scanner
end
it 'should scan logged-in movie page for movie data'
doc = MoviePage_loggedIn // Get document to scan
// Unit Tests
// ------------------------------------------------------------
// Test movie scanner's functions
scanner.getMovieTitle(doc).should.eql "The Jacket"
scanner.getMovieYear(doc).should.eql "2005"
// Test movie scanner's main scan function
scannedData = scanner.scan(doc)
scannedData.title.should.eql "The Jacket"
scannedData.year.should.eql "2005"
end
it 'should scan non logged-in movie page for movie data'
doc = MoviePage_notloggedIn // Get document to scan
// Unit Tests
// ------------------------------------------------------------
// Test movie scanner's functions
scanner.getMovieTitle(doc).should.eql "The Jacket"
scanner.getMovieYear(doc).should.eql "2005"
// Test movie scanner's main scan function
scannedData = scanner.scan(doc)
scannedData.title.should.eql "The Jacket"
scannedData.year.should.eql "2005"
end
end
end
謝謝您的回答!我的意思,我怎麼結合的登錄和非登錄的頁面均測試,使得相同的測試代碼不跨越測試複製? – Chetan 2010-06-24 19:33:35
已編輯。希望能幫助到你! – Lunivore 2010-06-28 11:20:35