2012-11-26 19 views
7

Tôi đang viết một thông số kỹ thuật2 Unittest cho phần mềm scala của tôi. Việc thực hiện đang hoạt động tốt. Vấn đề duy nhất tôi có, là tôi cần phải làm sạch sau khi tất cả các thử nghiệm được hoàn thành. Tôi không thể tìm ra giải pháp nào cho điều đó. Có cách nào để thực hiện một số chức năng sau khi tất cả các thử nghiệm được hoàn thành?Final clean up in specs2

Trả lời

9

Bạn cần phải thêm một Step ở phần cuối của đặc tả của bạn:

import org.specs2.mutable._ 

class MySpec extends Specification { 

    // lots of examples here 

    // cleanup there 
    step(cleanUp()) 
} 
+0

Cảm ơn bạn điều này hoạt động khá tốt. –

+1

Có thể là nếu bất kỳ bước nào ném ngoại lệ thì không chạy cleanUp? – Robertiano

+0

Có nhưng điều đó sẽ không chạy được. – Eric

0

Bạn có thể thử sử dụng sau with After và thực hiện chức năng def after.

Ví dụ:

class Context extends Specification { 
.... 
} 

trait trees extends mutable.After { 
    def after = cleanupDB 
} 
+0

Liệu tác phẩm này với các đặc điểm kỹ thuật? Như trong: lớp Spec mở rộng Đặc điểm kỹ thuật với Sau {...} –

+1

* Sau khi * chạy sau mỗi lần kiểm tra, nhưng OQ được gọi là dọn dẹp sau * tất cả * kiểm tra. –