वीर

15 ตุลาคม 2007

Junit4 @expect in Python

Filed under: Uncategorized — Tags: , , , , , , , — वीर @ 13:22

เวลาจะ test ว่าอยากให้ function ที่เราเรียนมัน raise exception  ตามที่เราต้องการหรือเปล่า ถ้าเป็น JUnit เราก็ใส่อะไรประมาณข้างล่างได้ (แค่ประมาณอาจจะเขียนไม่ถูก)

@expect(IOException)

void testFoo() {

….

}

แต่ว่าพอมาเป็น Python จะทำอย่างไร จากคำแนะนำจากคุณสุกรีที่ codenone ก็ได้แบบนี้ออกมา

def expect(expr):
    def decorator(f):
        def wrapper(*__args, **__kw):
            try:
                f()
                assert False
            except Exception, (e):
                assert type(e) != type(expr)

        return wrapper
    return decorator

@expect(RuntimeError)
def func1():
    raise Exception

func1()

เขียนแยกๆ ดิบดี พอเอาไปใช้กับ nose จริงๆ เจ๊ง -_-!.

No Comments Yet »

ยังไม่มีความคิดเห็นใดๆ

RSS feed สำหรับความคิดเห็นในกระทู้นี้ TrackBack URI

เขียนความคิดเห็นของคุณ

บลอกที่ WordPress.com .