gpt4 book ai didi

Python unittest 不识别测试

转载 作者:行者123 更新时间:2023-11-28 18:43:02 25 4
gpt4 key购买 nike

我正在尝试学习如何在 python 中使用 unittest 框架。当我运行包含测试的文件时,我不断收到以下消息。

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

我在这里和其他地方进行了搜索,但无法弄清楚为什么它无法识别测试。每个测试都以 test 开头,unittest 的其他部分似乎与文档的要求相匹配。

这是脚本的文本:

import unittest
from datetime import datetime, timedelta

class Activity(object):
'Holds detail information on a activity'
def __init__(self, location, activity_name, activity_id, start_date, end_date):
self.activity_name = activity_name
self.activity_id = activity_id
self.start_date = datetime.strptime(start_date, '%m/%d/%Y').date()
self.end_date = datetime.strptime(end_date, '%m/%d/%Y').date()
self.location = location

if __name__ == '__main__':
unittest.main()

class TestActivity(unittest.TestCase):

def setUp(self):
self.activity = Activity('UVU', 'OpenWest', 'Beginning Python'
, '00000', '12/1/2013', '12/30/3013')

def test_activity_creation(self):
self.assertEqual(self.activity.location, 'UVU')
self.assertEqual(self.activity.activity_name, 'OpenWest')
self.assertEqual(self.activity.activity_id, '00000')
self.assertEqual(self.activity.start_date, datetime.strptime('12/1/2013', '%m/%d/%Y').date())
self.assertEqual(self.activity.start_date, datetime.strptime('12/30/2013', '%m/%d/%Y').date())

def test1(self):
self.assertEqual(1,1)

def tearDown(self):
del self.activity

感谢任何帮助

最佳答案

如果你移动

if __name__ == '__main__':
unittest.main()

到脚本结束,然后它会起作用。

更新

这是我的推测:当你在脚本中间调用 unittest.main() 时,你的测试类还没有定义,因此 unittest 没有拿起任何测试。通过将 unittest.main() 移动到末尾,或者更准确地说 - 在定义测试类之后,您可以确保 unittest 看到 那些测试。

关于Python unittest 不识别测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com