bro*_*kie 4 python testing django
我刚刚开始使用Django,所以这可能是一些愚蠢的事情,但我甚至不确定在这一点上google是什么.
我有一个看起来像这样的方法:
def get_user(self,user):
return Utilities.get_userprofile(user)
Run Code Online (Sandbox Code Playgroud)
该方法如下所示:
@staticmethod
def get_userprofile(user):
return UserProfile.objects.filter(user_auth__username=user)[0]
Run Code Online (Sandbox Code Playgroud)
当我在视图中包含它时,一切都很好.当我编写一个测试用例来使用Utility类中的任何方法时,我得到None:
两个测试用例:
def test_stack_overflow(self):
a = ObjName()
print(a.get_user('admin'))
def test_Utility(self):
print(Utilities.get_user('admin'))
Run Code Online (Sandbox Code Playgroud)
结果:
Creating test database for alias 'default'...
None
..None
.
----------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我为什么这在视图中工作,但不在测试用例内部工作并且不会生成任何错误消息?
谢谢
验证您的单元测试是否符合以下条件,
TestClass 必须用文件名写 test*.py TestClass必须已经从unittest.TestCase中继承TestClass应该有一个setUp函数来创建对象(通常以这种方式完成,但对象创建也可以在测试函数中发生)在数据库中TestClass函数应该从test 开始,test以便由./manage.pytest命令识别和运行TestClass可能必须tearDown正确结束单元测试用例.测试用例执行过程:
当你运行./manage.py testdjango时,设置a test_your_database_name并创建setUp函数中提到的所有对象(通常)并按照类中的放置顺序开始执行测试函数,并且一旦执行了所有测试函数,最后查找tearDown函数执行如果测试类中存在的任何内容并销毁测试数据库.
这可能是因为你可能没有援引在设置功能中的对象创建或其他地方TestClass.
你能否发布整个追溯和测试文件来帮助你更好?
| 归档时间: |
|
| 查看次数: |
429 次 |
| 最近记录: |