我正在使用命令行中的参数运行单元测试。下面是我的测试代码。
import unittest
import sys
from toolbox.models import *
akit_id = sys.argv[1]
class TestQuizCase(unittest.TestCase):
def testupdate_quiz(self):
akit = AssignmentKit.objects.get(pk = akit_id)
akit.update_score_grade()
self.assertEqual(akit.marks, 50000)
if __name__ == "__main___":
del sys.argv[1:]
unittest.main()
现在从命令行执行以下操作:
>>> python test_quiz.py 2000
什么都没有,因此没有测试。我尝试记录日志,发现该控件甚至没有进入测试功能。我想念的是sys.argv是引起问题的原因吗?
最佳答案
您在"__main___"
中有三个非分数。因此,代码永远不会输入unittest.main()
。应该只有两个。