0%

Flask React Docker in Testdriven - Part II - 1

Introduction

在第2部分中,我们将添加代码覆盖率和持续集成测试,以确保每个服务都可以独立运行和测试。最后,我们将把 React 和 Jest(一个 JavaScript 测试运行器)和 Enzyme(一个专门为 React 设计的测试库)添加到客户端。

结构

请注意我们如何使用单个 git 仓库管理单个项目中的每个微服务。重要的是要注意,您还可以将每个服务分解为一个单独的项目,每个项目都有自己的 git repo 。每种方法都有利弊 —— mono repo vs multiple repo。做你的研究。

对多重回购方式感兴趣?查看本课程第 1 版的代码:

  1. flask-microservices-main - Docker Compose文件,Nginx,管理脚本
  2. flask-microservices-users - 用于管理用户和身份验证的Flask应用程序
  3. flask-microservices-client - 客户端,React app
  4. flask-microservices-swagger - Swagger API文档
  5. flask-microservices-eval - 用于管理用户分数和练习的Flask应用程序

目标

到这部分结束时,你将能够……

  1. 使用 Docker Container 中的代码覆盖率运行单元和集成测试
  2. 通过 linter 检查代码是否存在任何代码质量问题
  3. 配置 Travis CI 以进行持续集成测试
  4. 解释 React 是什么以及它与 Angular 和 Vue 的比较
  5. 使用在 Docker 容器内运行的 React
  6. 单元测试使用 Jest 和 Enact 反应组件
  7. 使用 React 组件创建单页应用程序( SPA )
  8. 使用 React 道具并适当地说明
  9. 通过组件生命周期方法管理 React 组件的状态
  10. 在构建时将环境变量传递给 Docker 镜像
  11. 使用 React 受控组件来处理表单提交
  12. 创建一个使用多级 Docker 构建的生产 Dockerfile

应用

![](https://raw.githubusercontent.com/keer2345/storehouse/master/hexo/images/2018/0923/004.png)

查看官方教程在 EC2 上运行的实时应用:

我们还可以测试以下接口:

Endpoint HTTP Method CRUD Method Result
/ GET READ Load React app
/users GET READ get all users
/users/:id GET READ get single user
/users POST CREATE add a user
/users/ping GET READ sanity check

依赖

第二部分,我们将使用以下依赖:

  1. Coverage.py v4.5.1
  2. flake8 v3.5.0
  3. Flask Debug Toolbar v0.10.1
  4. Node v10.4.1
  5. npm v6.1.0
  6. Create React App v1.5.2
  7. React v16.4.1
  8. React Scripts v1.1.4
  9. React Dom 16.4.1
  10. Axios v0.17.1
  11. Flask-CORS v3.0.6
  12. Enzyme v3.3.0
  13. enzyme-adapter-react-16 v1.1.1