python - Django 测试模型字段

标签 python django unit-testing

我目前正在为我的 django 项目编写测试,我需要确保

模型的特定字段属于某种类型。

例如,在模型图片中,我想确保有一个字段带有

名称为“image”并且类型为 ImageField。

我还希望能够检查属性是否属于ForeignKey 类型

模特图片。

我尝试使用assertIsInstance,但我需要分配属性,否则

他不是。

有人知道怎么做吗?

最佳答案

要回答您的问题,这样的检查应该有效:

from django.db.models import ImageField
from wherever.mymodels import Pictures
...
field = Pictures._meta.get_field("image")
assertTrue(isinstance(field, ImageField))

不过,对于我的 2 美分来说,对于您的单元测试来说,检查设置某些 Picture 实例的“图像”是否按预期工作可能更有意义,而不是仅仅检查名为“图像”的 ImageField。毕竟,您真正应该使用测试用例检查的是:“我用来上传/验证/保存图像的代码是否可靠地工作”?

关于python - Django 测试模型字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30575370/

相关文章:

python - 在另一个脚本终止后运行 python 脚本

unit-testing - 为什么在此D程序中无法进行单元测试?

c# - 简单 `Assert.IsAssignableFrom<T>` 失败

Python TA-Lib 安装问题

python - 如何从以下向量中获取具有最高值的 5 个元组?

python - 如何使用 Django 生成响应式 PDF?

python - run_gunicorn 有效但 gunicorn_django 无效,尽管两者都在同一环境中,看不到注册模块

python - Django Redis 在键上附加相同的注释

c++ - 如何测试函数调用顺序

python - 为什么pip安装tbb失败