Python 单元测试- class 变量
Python Unittest- class variables
我希望有人不介意解释这里发生了什么。我正在尝试 运行 已确认使用 python 2.7 的 python 单元测试。但是,当尝试在机器 运行ning python 2.6 上进行 运行 相同的测试时,我遇到了一个我无法弄清楚的错误。这是正在发生的事情的一个例子
import re, string, os, subprocess, unittest
import MERCH_FUNCTIONS
class merchTests(unittest.TestCase):
@classmethod
def setUpClass(self):
self._merchFileString=open("test_file.txt",'r').read()
self._merchFileList=self._merchFileString.split("\n") #convert string to list
def test_stuff(self):
#print list
print(self._merchFileList)
if __name__ == '__main__':
unittest.main()
出于某种原因,如果我 运行 此代码使用 python 2.7,它会成功 运行 测试,并且列表 self._merchFileList 打印出来。
但是,当 运行 使用 python 2.6 使用相同的代码时,我收到以下错误:
======================================================================
ERROR: test_stuff (__main__.merchTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "MERCH_Test_Case.py", line 14, in test_stuff
print(self._merchFileList)
AttributeError: 'merchTests' object has no attribute '_merchFileList'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
我一辈子都弄不明白这里发生了什么。我尝试了几种不同的方法但没有成功。如果有人愿意解释这里出了什么问题,我将不胜感激。
提前致谢。
setUpClass
是 introduced in python2.7。因此,当您 运行 使用早期版本(例如 Python 2.6)时,它不会被自动调用。
我希望有人不介意解释这里发生了什么。我正在尝试 运行 已确认使用 python 2.7 的 python 单元测试。但是,当尝试在机器 运行ning python 2.6 上进行 运行 相同的测试时,我遇到了一个我无法弄清楚的错误。这是正在发生的事情的一个例子
import re, string, os, subprocess, unittest
import MERCH_FUNCTIONS
class merchTests(unittest.TestCase):
@classmethod
def setUpClass(self):
self._merchFileString=open("test_file.txt",'r').read()
self._merchFileList=self._merchFileString.split("\n") #convert string to list
def test_stuff(self):
#print list
print(self._merchFileList)
if __name__ == '__main__':
unittest.main()
出于某种原因,如果我 运行 此代码使用 python 2.7,它会成功 运行 测试,并且列表 self._merchFileList 打印出来。
但是,当 运行 使用 python 2.6 使用相同的代码时,我收到以下错误:
======================================================================
ERROR: test_stuff (__main__.merchTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "MERCH_Test_Case.py", line 14, in test_stuff
print(self._merchFileList)
AttributeError: 'merchTests' object has no attribute '_merchFileList'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
我一辈子都弄不明白这里发生了什么。我尝试了几种不同的方法但没有成功。如果有人愿意解释这里出了什么问题,我将不胜感激。
提前致谢。
setUpClass
是 introduced in python2.7。因此,当您 运行 使用早期版本(例如 Python 2.6)时,它不会被自动调用。