gpt4 book ai didi

python - Django 测试用例无法运行方法

转载 作者:太空狗 更新时间:2023-10-30 02:10:19 24 4
gpt4 key购买 nike

我刚刚开始使用 Django,所以这可能有些愚蠢,但此时我什至不确定要用谷歌搜索什么。

我有一个看起来像这样的方法:

def get_user(self,user):
return Utilities.get_userprofile(user)

方法如下所示:

@staticmethod
def get_userprofile(user):
return UserProfile.objects.filter(user_auth__username=user)[0]

当我将它包含在 View 中时,一切都很好。当我编写测试用例以使用 Utility 类中的任何方法时,我得到 None 返回:

两个测试用例:

def test_stack_overflow(self):
a = ObjName()
print(a.get_user('admin'))

def test_Utility(self):
print(Utilities.get_user('admin'))

结果:

Creating test database for alias 'default'...
None
..None
.
----------------------------------------------------------------------

有人能告诉我为什么这在 View 中有效,但在测试用例中不起作用并且不生成任何错误消息吗?

谢谢

最佳答案

验证您的单元测试是否符合以下条件,

  1. TestClass 必须写成文件名 test*.py
  2. TestClass 必须是 unittest.TestCase 的子类
  3. TestClass 应该有一个 setUp 函数来在数据库中创建对象(通常以这种方式完成,但对象创建也可以在测试函数中发生)<
  4. TestClass函数应该以test开头,以便被./manage.py测试命令识别和运行
  5. TestClass 可能有 tearDown 以正确结束单元测试用例。

测试用例执行流程:

当你运行 ./manage.py test 时,django 会设置一个 test_your_database_name 并创建 setUp 函数中提到的所有对象(通常) 并开始按照类内的放置顺序执行测试函数,一旦所有测试函数都执行完毕,最后查找 tearDown 函数,如果测试类中存在则执行并销毁测试数据库。

可能是,因为您可能没有在 setUp 函数或 TestClass 的其他地方调用对象创建。

能否请您发布完整的回溯和测试文件以更好地帮助您?

关于python - Django 测试用例无法运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30814530/

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