我正在使用命令行中的参数运行单元测试。下面是我的测试代码。

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()。应该只有两个。

10-07 21:13