我是 Python 新手,我正在尝试将鼻子作为单元测试框架。我遇到了一种我没想到的行为,但也许这是正常的,因此我提出了问题。
我有两个(非常基本的)文件:
__init__.py:
#!/usr/bin/env python
glob = 0
def setup():
global glob
glob = 42
print "Package setup"
test_mymod.py:
#!/usr/bin/env python
from unittest import TestCase
from . import glob
print "test_mymod.py"
class testMyMod(TestCase):
def setUp(self):
print glob
def test_random(self):
pass
def tearDown(self):
pass
运行nosetest -s
给我以下输出:
test_mymod.py
Package setup
0
由于包的 setup() 函数是在测试的 setUp() 函数之前调用的,所以我希望看到print glob
输出42
。
我做错了什么,还是没有办法做我想做的事?在我看来,导入一个变量会复制它的值而不是引用它,但也许还有其他方法?
谢谢