visual-studio - 使用 Visual Studio Docker 组合支持运行测试

标签 visual-studio docker docker-compose

我已将 docker compose 添加到我的项目中。当我调试项目时,它会加载 docker compose 文件。在覆盖 yml 中,我指定了一个 postgresql 图像和卷,因此它会自动调出开发数据库。这很棒,因为您可以克隆存储库,而不必安装除 docker 之外的任何本地软件。

唯一不好的是运行测试。当我运行测试时,它不会启动数据库容器,它只会执行测试项目中的代码。所以测试人员必须手动启动数据库镜像。

我觉得我可能做错了什么。是否有更好的方法使测试与 visual studio docker compose 支持一起工作,以便它自动启动数据库?

我考虑过在 docker 文件中运行测试,但我认为这可能会妨碍开发。什么是好的方法?

最佳答案

我不建议在 Dockerfile 中运行测试。正如您所说,这将使您的开发过程复杂化。

在数据库方面,您可以在 docker-compose 之外运行它,使其始终在后台运行。只需从 docker-compose.yml 中删除 postgres 配置,然后使用 docker run ... 运行 postgres。这样它将一直运行,直到您使用 docker stop ...

停止它
docker run -v /tmp/pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=<PASSWORD> -d postgres

关于visual-studio - 使用 Visual Studio Docker 组合支持运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54897601/

相关文章:

docker - 使用 docker-compose 时如何在容器内使用主机用户修改卷文件

java - 使用Jlink时如何安装jwdp依赖

wordpress - 从 Table Plus 连接到我的本地 docker 数据库实例

node.js - 无法从应用程序容器连接到 postgres DB docker 容器

asp.net - 从 ASP.NET Core Controller 读取 docker-compose 环境变量

c# - 程序找不到文件 (EmguCV)

c++ - CMake Generator for Visual Studio Linux 跨平台

visual-studio - 将新解决方案文件夹添加到解决方案的快捷方式

c++ - VS 6.0 C++ 执行 CL.EXE 导致“驱动器中没有磁盘.. <corrupt drive name>

docker - 如何仅在另一个事件镜像完成任务后才运行docker镜像?