如何在nosetest中将变量从设置传递到测试?

时间:2017-12-14 08:24:39

标签: python nose

使用python和nosetests,我有以下设置:

- package
    - __init__.py
    - test1.py
    - test2.py

__init__.py模块包含设置功能

def setup():
    print("Setup called")
    var = 42

稍后将用于创建唯一标识(运行测试之间不同,但包内的所有测试都相同)。

测试本身如何访问此变量(在此示例中为var)?测试脚本只是一些存根:

from nose.tools import assert_true

class TestSuite(object):
    def test1(self):
        # How to get content of 'var' here?
        assert_true(True)

是否有一些pythonic方法可以做到这一点,或者只是使用环境变量来做到这一点?

1 个答案:

答案 0 :(得分:1)

在类中调用.setup()个方法:

class Test:
    def setup(self):
        self.var = 1

    def test_print_var(self):
        print(self.var)

这也适用于从其他地方继承的方法:

class TestBase:
    def setup(self):
        self.var = 1

class Test(TestBase):
    def test_print_var(self):
        print(self.var)