2

我正在尝试调用test_check_footer_visible另一个.py文件。

origin.py有:

class FooterSection(unittest.TestCase):
    """
    """
    browser  = None
    site_url = None

    def setUp(self):
        self.browser.open(self.site_url)
        self.browser.window_maximize()

        # make footer section
        self._footer = FooterPage(self.browser)

    def test_check_footer_visible(self):
        #press the page down
        self.browser.key_down_native("34")
        self.browser.key_down_native("34")
        self.browser.key_down_native("34")
        print "Page down"
        time.sleep (10)

现在dest.py我需要打电话test_check_footer_visible()。我怎么做?

dest.py具有以下格式:

class TestPageErrorSection(unittest.TestCase):
    """
    """
    browser  = None
    site_url = None

    def setUp(self):
        global SITE_URL, BROWSER

        if not BROWSER:
            BROWSER = self.browser

        if not SITE_URL:
            SITE_URL = self.site_url

        BROWSER.open(SITE_URL)
        BROWSER.window_maximize()
        print 'page not found 404 error'
        self._pageerror_section = ErrorSection(BROWSER)

    def _primary_navigation(self):
        # I want to call test_check_footer_visible here.

我尝试了从另一个类调用类方法中的所有内容

4

1 回答 1

1

你不能(不做一些非常阴暗的事情——见@glglgl的评论)——至少在不改变你的代码的情况下不能。你不能这样做的原因是因为test_check_footer_visible会断言传入的第一个元素是类的一个实例FooterSection(它不是——它是 的一个实例TestPageErrorSection)。您(至少)有几个用于重构的选项。

1)直接TestPageErrorSection继承FooterSection并使用该函数(例如self.test_check_footer_visible() ,根据类名,这对我来说似乎不是一个很好的选择

2) 做test_check_footer_visible()一个正则函数。然后可以从任一类调用它。

3)创建一个第3类(例如SectionBase),穿上test_check_footer_visible那个类,让你的其他2个类继承它。

于 2012-10-25T12:52:56.353 回答