小编Or *_*hen的帖子

由于缺少环境变量,Vscode pytest 测试发现失败

我有 config.py 模块,它加载连接到 MongoDB 所需的环境变量。当我尝试在 vscode 中运行测试发现时,pytest 找不到这些环境变量。在测试文件中,我使用了导入配置模块的模块中的一些方法,因此读取这些环境变量的代码始终运行。

环境变量在我的 .bashrc 文件中定义。

如果我从终端运行它,单独 Pytest 可以使用这些环境变量运行测试

python /home/orch/.vscode/extensions/ms-python.python-2019.9.34911/pythonFiles/testing_tools/run_adapter.py 发现pytest -- -s --cache-clear 测试

这是激活测试发现工具时运行的命令 vscode

我希望 vs 代码能找到测试

输出是以下错误:

tests/test_db.py:5: in <module>
    from src.core.db import MongoHandler
src/core/db.py:5: in <module>
    from src.core.loggers import gcl_log_event
src/core/loggers.py:8: in <module>
    from configuration import config
configuration/config.py:22: in <module>
    user_name = os.environ['EVO_DB_USER_NAME']
../../.local/share/virtualenvs/evolve-sjbSOQds/lib/python3.7/os.py:678: in __getitem__
    raise KeyError(key) from None
E   KeyError: 'EVO_DB_USER_NAME'
Run Code Online (Sandbox Code Playgroud)

pytest python-3.x visual-studio-code

8
推荐指数
1
解决办法
2205
查看次数

如何在 github 操作服务容器中运行命令?

我正在使用 minio 创建一个类似于对象存储服务器的 s3,并且我想在我的 ci cd 过程中针对该服务器测试一些代码。
使用 Github 操作,我尝试在工作流文件中添加 minio 作为服务,但由于 minio 需要一个命令和一些参数,我实际上无法使用这种机制运行它。
这是我的 ci.yml 中相关配置的一部分:

minio-container:
runs-on: ubuntu-latest
container: python:3.8.2

services:
  minio:
    image: minio/minio:latest
    ports:
      - 9000:9000
    env:
      MINIO_ACCESS_KEY: XXXX
      MINIO_SECRET_KEY: XXXXX
Run Code Online (Sandbox Code Playgroud)

我读了一点,发现在幕后 github 运行,docker crate service [OPTIONS] IMAGE_NAME但我也需要能够运行docker create service [OPTIONS] IMAGE_NAME COMMAND [ARGS]

如果这还没有实现,我可以尝试哪些其他选项?

谢谢,
或者

continuous-integration docker minio github-actions

6
推荐指数
1
解决办法
2158
查看次数