[英]Why only part of the content being written to a file in python?
我是python的新手,并且一直在使用单元测试来测试程序中的方法。 我一直在使用https://docs.python.org/3/tutorial/inputoutput.html作为读取和写入文件的参考。 我不明白为什么在单元测试中仅将某些内容写入文件中。
我当前的单元测试文件:
class Test_test_States(unittest.TestCase):
def setUp(self):
self.test_case_number = 1
self.file = open('Test_States_Results.txt', 'w')
self.file.write('---Test States Results---\n')
self.file.write('Test Case\tInput\t\tExpected Output\t\tResult\n')
self.file.write('----------------------------------------------------------------\n')
def tearDown(self):
self.file.close()
#Unit testing the States Display method
def test_States_Display_States(self):
current_states = States()
file_path = 'pda.def'
# Write the test case number
self.file.write(' ' + str(self.test_case_number) + '\t')
current_states.load(file_path)
# Write the Input
self.file.write(str(current_states.states) + '\t\t')
# Write the Expected Output
self.file.write('STATES: s0 s1 s2\t\t')
display = current_states.display_states()
try:
self.assertEqual(display, 'STATES: s0 s1 s2')
# Write the pass results
self.file.write('Passed\n')
except AssertionError:
# Write the fail results
self.file.write('Failed\n')
# Increment test case number
self.test_case_number += 1
我在setUp
中写入的内容已写入文件; 但是,我尝试在test_States_Display_States
方法中写入文件的内容未写入文件。 我不明白为什么内容没有写入文件中。
我如何在test_States_Display_States
方法中正确写入文件?
我尝试了一下,并且仅使用一个测试用例就可以正常工作。 如果文件中还有其他测试,则不需要setUp
,而需要setUpClass
。 在每个测试用例之前和之后,都会调用一次setUp
和tearDown
。 在整个测试之前和之后分别调用一次setUpClass
和tearDownClass
。 拥有它是setUp
意味着每个它覆盖的时间什么在你的文件中。 它应该是这样的:
@classmethod
def setUpClass(cls):
cls.test_case_number = 1
cls.file = open('Test_States_Results.txt', 'w')
cls.file.write('---Test States Results---\n')
cls.file.write('Test Case\tInput\t\tExpected Output\t\tResult\n')
cls.file.write('----------------------------------------------------------------\n')
@classmethod
def tearDownClass(cls):
cls.file.close()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.