2013-05-16 22 views
1

我在Jython中使用unittest。 (我正在寫一些Sikuli測試)jython是否支持來自unittest模塊的類級別的燈具

我能夠使setUp()工作,但我無法獲得setUpClass()運行。

有誰知道這是否支持Jython?有沒有人得到它的工作?

import unittest 

class MyTestClass(unittest.TestCase): 
    @classmethod 
    def setUpClass(cls): 
     print("setUpClass") 
    @classmethod 
    def tearDownClass(cls): 
     print("tearDownClass") 
    def test_1(self): 
     print("test_1") 

print("setUpClass")從未打印任何東西

我運行Java 2.5.2(Release_2_5_2:7206,2011年3月2日,23點12分06秒)

回答

2

setUpClass在Python 2.7版推出,和Python 3.2;基於你的標籤「jython-2.5」,我建議嘗試測試版本Jython 2.7beta 1,它能夠「使我們的語言級別與2.7版本的CPython兼容」

0

是的,Jython 2.7.0支持class像setUpClass()和tearDownClass()這樣的級別測試裝置。我在Eclipse IDE中用Sikuli和Jython 2.7.0與PyDev插件一起使用它,它工作得非常好。

只需看看超類SikuliTest就可以在使用Jython 2.7單元測試框架執行單獨測試之前實現它來最大化和最小化正在運行的應用程序。

import unittest 
import org.sikuli.basics.SikulixForJython 
from sikuli import * 
import image_repo.ImageRepo 
class SikuliTest(unittest.TestCase): 

    @classmethod 
    def setUpClass(cls): 
     cls.region = Screen() 
     cls.image_repo = ImageRepo() #ImageRepo is dictionary of images captured from application 
     cls.region.click(cls.image_repo.get_image("Maximize running Application")) 

    @classmethod 
    def tearDownClass(cls): 
     cls.region.click(cls.image_repo.get_image("Minimize opened Application")) 

import SikuliTest 
class SampleTest(SikuliTest): 

    def setUp(self): 
     print("Inside test method fixture - Setup") 
    def tearDown(self): 
     print("Inside test method fixture - Teardown") 
    def test_sample(self): 
     self.region.click(self.image_repo.get_image("ABC")) 
相關問題