与本地运行相比,我在Docker中获得了不同的测试结果

时间:2019-08-27 19:26:42

标签: django docker pytest

目前,在我项目的以下分支中,我正在实施各种测试: https://github.com/Nebucatnetzer/network_inventory/tree/tests

当我在本地运行pytest时,测试通过并保存了一个,这不是问题。 当我使用const { Post, Author } = require('../models/index'); function(response) { Post.findAll({ attributes: ['id', 'title', 'content', 'likes'], include: { model: Author, } }) .then(result => response.json(result)) .catch(error => response.send(`Error getting data. Error: ${error}`)); 运行测试时,这些测试在Docker容器内运行,并且所有测试中大约有50%失败了。 我不知道为什么会这样。 据我所知,这两个项目的设置都相同,并且当我正常启动Docker容器并手动进行测试时,它们似乎运行良好。

几天以来,我一直坚持这一点,只是不知道出了什么问题。

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。 在本地运行测试时,我在RAM中使用SQLite DB。我在要测试的URL中使用了硬编码的主键。这在SQLite上运行良好,但是由于某种原因在Docker容器中的Postgres DB上失败了。 现在,我修复了所有URL,以便它们直接从我为测试创建的对象中使用PK,并且所有测试现在都通过了。