目前,在我项目的以下分支中,我正在实施各种测试: 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容器并手动进行测试时,它们似乎运行良好。
几天以来,我一直坚持这一点,只是不知道出了什么问题。
答案 0 :(得分:0)
我终于找到了解决方案。 在本地运行测试时,我在RAM中使用SQLite DB。我在要测试的URL中使用了硬编码的主键。这在SQLite上运行良好,但是由于某种原因在Docker容器中的Postgres DB上失败了。 现在,我修复了所有URL,以便它们直接从我为测试创建的对象中使用PK,并且所有测试现在都通过了。