>缺少模块

c9x0cxw0  于 2021-08-20  发布在  Java
关注(0)|答案(2)|浏览(502)

我有一个python项目,在src模块中有工作代码,在另一个模块中有单元测试。当我在本地工作站上使用VisualStudio代码运行单元测试时,测试运行正常。但是,当我将代码签入githib并使用github操作时,单元测试无法找到包含所需模块的src目录。我在.yml文件上尝试了不同的配置,但到目前为止没有任何效果。
这是。yml

jobs:
  on_build_actions:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt
        working-directory: src
      - name: Run Tests
        run: python -m unittest test_hypedsearch
        working-directory: test

这里是错误
运行python-m unittest test\u hypedsearch e=================================================================================================================================错误:test\u hypedsearch(unittest.loader.\u failedsearch)

r3i60tvu

r3i60tvu1#

---导入测试模块失败:test\u hypedsearch回溯(最后一次调用):文件“/usr/lib/python3.8/unittest/loader.py”,第154行,在loadtestsfromname module=import(module_name)文件“/home/runner/work/hypedsearch/hypedsearch/test/test_hypedsearch.py”中,第5行,在from src import runner,utils,database,objects modulenotfound错误:没有名为“src”的模块
下面是抛出错误的单元测试代码的顶部:

import sys, os.path  
import unittest
src_path = (os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) + '/src/')
sys.path.append(src_path)
from src import runner, utils, database, objects

我是否需要在github上添加其他引用以指向src文件夹?以下是目录大纲:

8wtpewkr

8wtpewkr2#

我使用以下工作流实现(适合您的上下文)在类似的存储库上实现了它:

jobs:
  on_build_actions:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install dependencies
        run: |
          cd $GITHUB_WORKSPACE
          python -m pip install --upgrade pip
          pip install -r requirements.txt
      - name: Run Tests    
        run: python -m unittest test/test_hypedsearch.py

我不知道原因,但我无法使用 working-directory 变量也是如此。所以这是一个可能的解决办法。。。
以下是成功运行的工作流:https://github.com/guillaumefalourd/hypedsearch/runs/3032440691?check_suite_focus=true
这是我用来测试的存储库,如果您想检查:https://github.com/guillaumefalourd/hypedsearch
注:我不知道该回购协议是否与您的相关,但至少它有类似的结构。

相关问题