首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pytest/Locust: ModuleNotFoundError无模块名为

Pytest/Locust: ModuleNotFoundError无模块名为
EN

Stack Overflow用户
提问于 2022-08-16 14:22:15
回答 3查看 200关注 0票数 0

我试过在类似的话题上找作者,但是.什么都帮不上忙。

当我用pytest -m blablabla运行我的常规测试时,没有问题,但是

当我按命令运行蝗虫时:

蝗虫-f _蝗虫文件/instr_-f

比这更重要:

代码语言:javascript
复制
(venv) evgen@TLL amapitest % locust -f my_locustfiles/instr_performance.py
Traceback (most recent call last):
  File "/Users/evgen/venv/bin/locust", line 8, in <module>
    sys.exit(main())
  File "/Users/evgen/venv/lib/python3.10/site-packages/locust/main.py", line 70, in main
    docstring, _user_classes, shape_class = load_locustfile(_locustfile)
  File "/Users/evgen/venv/lib/python3.10/site-packages/locust/util/load_locustfile.py", line 58, in load_locustfile
    imported = source.load_module()
  File "<frozen importlib._bootstrap_external>", line 548, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 1063, in load_module
  File "<frozen importlib._bootstrap_external>", line 888, in load_module
  File "<frozen importlib._bootstrap>", line 290, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 719, in _load
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/Users/evgen/PycharmProjects/api-testing/amapitest/my_locustfiles/instr_performance.py", line 8, in <module>
    from amapitest.src.helpers.jwt_generator import generate_json_web_token
ModuleNotFoundError: No module named 'amapitest.src.helpers'

我的项目结构:

代码语言:javascript
复制
├── amapitest  
│   ├── my_locustfiles  
│   │   ├── __init__.py  
│   │   └── instr_performance.py  
│   ├── src  
│   │   ├── configs  
│   │   ├── dao  
│   │   ├── helpers  
│   │   └── utilities  
│   ├── tests  
│   └── tmp  
├── amapitest.egg-info  
├── build  
├── dist  
├── env.sh  
├── requirements.txt  
└── setup.py  

附加信息:

蝗虫2.11.0

吡虫啉7.1.2

python 3.10

macOS蒙特里

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-08-18 14:29:47

我通过将"my_locustfiles“文件夹移到项目的根目录并从这个目录运行测试来解决我的问题。

我仍然不明白为什么当蝗虫文件位于"amapitest“中时,无法找到导入的方法。

but...anyway,谢谢大家

票数 0
EN

Stack Overflow用户

发布于 2022-08-18 14:10:09

根据文档sys.path,当前目录由蝗虫自动添加到https://docs.locust.io/en/stable/writing-a-locustfile.html#how-to-structure-your-test-code中。

尝试转到父目录并运行

locust -f amapitest/my_locustfiles/instr_performance.py

票数 0
EN

Stack Overflow用户

发布于 2022-12-01 15:22:33

  1. print(sys.path)以查看帮助Python查找模块的路径.

如果找到路径,则为

  1. 。例如,让我们假设"/Users/user/SomeFolder/amapitest/",try @Cyberwiz的注释,在每个文件夹中添加__init__.py文件以将文件夹转换为模块。在amapitest文件夹

执行蝗虫

如果您希望在子文件夹中执行locust,而未找到的模块仍在发生,请尝试步骤3。

instr_performance.py,中的

  1. 追加父路径,如sys.path.append( os.path.join( os.path.dirname(__file__),‘.“)

您将看到'/Users/user/SomeFolder/amapitest/my_locustfiles/..'print(sys.path),我认为这个解决方案可能有助于

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

https://stackoverflow.com/questions/73375591

复制
相关文章

相似问题

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