我的一个单元测试在独立执行时运行正常,但在与测试用例的其他测试一起执行时失败。
我在发送发布请求时收到意外的 404 状态。
从数据库中获取对象时,pb 似乎是由 404 异常引起的。如果我在之前的测试中对同一 View 的另一篇文章发表评论,那么问题就不会再发生了。
pb 似乎是由 sqlite(内存或文件)引起的。使用 mysq 时没有错误,但测试过程要慢得多。
任何想法,什么可以解释这种行为以及如何纠正这个 pb?
最佳答案
需要记住 sqlite 与 mysql 的一些差异,其中之一是区分大小写。默认情况下,mysql 查询不区分大小写,但 sqlite 查询区分大小写。所以像 MyModel.objects.get(slug="Asdf")
这样的查找可能会找到带有 slug 的模型 asdf
使用 mysql 但不使用 sqlite
关于django - 使用 sqlite 进行 django 单元测试时出现这种副作用的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7993801/