【发布时间】:2020-07-23 19:22:39
【问题描述】:
在构建过程中运行 django 单元测试用例的正确方法是什么?
我们使用 Jenkins 管道构建 docker 镜像,容器将通过启动脚本启动。
我需要在 nginx 容器启动之前调用 manage.py 测试吗? 或者 我是否需要在 Jenkins 构建管道中添加构建后任务以在容器启动后运行测试?
所以基本上是在寻找运行测试的最佳实践。我们需要在服务器启动之前还是在服务器启动之后运行单元测试?
我知道在我们启动 nginx 之前运行单元测试更有意义,但是随着将来添加更多 n 更多的测试用例,它不会增加时间吗?
【问题讨论】:
-
我可能会在构建 Docker 映像之前运行单元测试。作为单元测试,它们不应该依赖于正在运行的服务器、数据库或其他外部要求。将 SQLite 用作仅用于测试的嵌入式数据库可能会有所帮助。
-
您好@DavidMaze,我完全同意您的说法:单元测试、集成测试、e2e 测试等是完全不同的故事,但对于单元测试来说,您是否认为拥有专用图像有什么问题仅为运行时构建,在其中运行单元测试并根据结果将
go/no-go决定进入 CI 管道的下一步?这就是我在自己的一些管道中使用的方法
标签: django docker unit-testing jenkins jenkins-pipeline