0

我在 GitHub 上的私有仓库中创建了一个示例项目 [Django/Python]。最近,我添加了一个示例 .travis.yml 文件,以便让 CI 滚动。pytest现在的问题是当我在本地机器上运行命令时我的测试 [我正在使用 Pytest 套件] 通过。Travis但是由于上述错误,我无法让我的测试套件继续运行。在这方面的任何帮助将不胜感激。

这是我的示例.travis.yml文件。

language: python
sudo: false
python:
- '3.6.4'

services:
  - mysql

addons:
  apt:
    sources:
      - mysql-5.7-trusty
    packages:
      - mysql-server

cache:
  directories:
    - $HOME/.cache/pip

before_install:
  - sudo mysql -e "use mysql; update user set password=PASSWORD('123123') where User='root';FLUSH PRIVILEGES;"
  - sudo service mysql restart

before_cache:
  - rm -f $HOME/.cache/pip/log/debug.log

install:
  - pip install -r requirements/development.txt

before_script:
- sudo mysql -e 'CREATE DATABASE my_database;'

script:
- flake8
- pytest --cov -v --tb=native

notifications:
  email:
    on_success: change  # [always|never|change]
    on_failure: always  # [always|never|change]

只是为了添加更多信息。我的数据库设置如下: settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'my_database',
        'USER': 'root',
        'PASSWORD': '123123',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}
4

1 回答 1

0

在您.travis.yml使用它来更改密码时:

before_install:
  - sudo mysql -e "use mysql; update user set authentication_string=PASSWORD('123123') where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;"
  - sudo mysql_upgrade -u root -p123123
  - sudo service mysql restart

或者,最好使用rootortravis作为用户名并将密码留空。

于 2019-04-04T01:19:32.280 回答