我正在尝试对我的API进行测试,并将其作为我正在使用Travis的CI过程的一部分。额外信息:使用SQL Alchemy在API实现中查询db。
使用Travis内的专用Docker容器环境(使用docker-compose进行测试)完成测试。但是当谈到我的AWS中的RDS实例应该被访问时,我得到以下错误:
sqlalchemy.exc.OperationalError:(pymysql.err.OperationalError)(2003, “无法连接到MySQL服务器(超时)”)
以下参考是我的travis.yml文件
language: python
python: 3.6
services:
- docker
install:
- pip install -r requirements.txt
jobs:
include:
- stage: Tests
script:
- echo "Perform the testing"
- docker-compose -f tests/docker-compose.yml up --build
本地运行时的相同测试没有任何问题。不确定它是否与travis实例的IP地址有关。但是,我在Travis的设置中提到了我的AWS访问密钥和密钥。
任何解决此问题的提示或建议都表示赞赏。
感谢。
答案 0 :(得分:0)
是否有令人信服的理由不使用Travis CI提供的mysql
服务?这将允许您的单元测试针对将被丢弃的实际测试数据库运行,这可能是您想要的。