首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用GitHub操作从pytest中的存储库导入脚本

无法使用GitHub操作从pytest中的存储库导入脚本
EN

Stack Overflow用户
提问于 2021-09-30 15:46:34
回答 1查看 467关注 0票数 0

我正在学习使用GitHub操作实现自动测试。我正在试图解决以下导入错误。

错误是:

代码语言:javascript
运行
复制
utils\test_capitalize.py:2: in <module>
    from src.capital import capital_case
E   ModuleNotFoundError: No module named 'src'

我的存储库的结构是:

代码语言:javascript
运行
复制
example/
|-- setup.cfg
|-- setup.py
|-- pyproject.toml
|-- .github/
|   |-- workflows/
|   |   |-- ci.yml
|-- src/
|   |-- capital.py
|-- utils/
|   |-- test_capitalize.py

ci.yml的内容如下:

代码语言:javascript
运行
复制
name: ci

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  build-and-test:

    runs-on: windows-latest
    strategy:
      matrix:
        python-version: [3.8]
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Build
        run: |
          python -m pip install .
          python -m pip install src
      - name: Test with pytest
        run: |
          python -m pip install pytest
          pytest

我认为python -m pip install .已经安装了存储库中的所有模块,我对此有误解吗?

编辑: pytest文件是一个最小的例子(我已经尝试过在推送之前删除src ):

代码语言:javascript
运行
复制
import pytest
from src.capital import capital_case


def test_capital_case():
    assert capital_case('semaphore') == 'Semaphore'
EN

回答 1

Stack Overflow用户

发布于 2022-05-10 07:17:39

在导入模块之前,将这些行包含在脚本的标题中。

import sys

sys.path.append("../")

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69395240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档