我可以使用tox成功地执行pytest (只需在Pycharm终端输入"tox“)。但是,当我在Pycharm终端中输入pytest -s tests时,就没有执行测试。ImportError: DLL load failed: The specified module could not be found.
尽管您可以在下面的commands = pytest -s tests中看到tox.ini并且测试在Tox中是成功的,但是为什么我不能在终端中执行pytest -s tests呢?
目录结构
root
| - .tox
| - robotor # include all of s
目标是为使用Cython的Python3项目使用pytest单元测试框架。这不是即插即用的事情,因为pytest在默认情况下无法导入Cython模块。也就是说,当从Cython模块导入时,我得到了以下错误,在我的例子中,这个错误名为“calculateScore”:
package/mainmodule.py:5: in <module>
from calculateScore import some_functions
E ImportError: No module named 'calculateScore'
这个问题在使用和方法时都会发生。奇怪的
我有一项本来应该很简单的任务,这已经让我困惑了一段时间。我正在尝试patch一个导入到当前模块中的对象。
根据的答案
我应该可以patch("__main__.imported_obj")了。不过,这对我不起作用。请参阅我下面的最小repro (我正在通过pytest运行测试):
极小复制
这是使用Python 3.8.6运行的。
from random import random
from unittest.mock import patch
import pytest
@pytest.fixture
def foo():
with patch("__ma
在尝试使用PyCharm运行shap测试用例时,我无法避免此错误:
/home/user/shap/venv/bin/python /home/user/Desktop/pycharm-community-2021.1.2/plugins/python-ce/helpers/pycharm/_jb_pytest_runner.py --path /home/user/shap/tests
Testing started at 10:51 a.m. ...
Launching pytest with arguments /home/user/shap/tests in /home/user/sh
为了进行单元测试,我使用unittest作为库。我试图通过tox.ini文件运行下面的测试。
from services.snowflake_api import SnowflakeApi
from unittest import TestCase
from mock import patch
class SnowflakeDbTest(TestCase):
@patch('services.SnowflakeAPI.snowflake.connector') # Decorator where database object is configured...
我使用Pycharm作为Python3.5脚本的IDE。
但是,有时当我对一个名为main.py的文件进行调试时,它会显示为pytest in main.py,调试器会失败。其他情况下,调试器在正常模式下运行。
pytest in main.py是什么意思?我如何回到正常的调试模式?请参阅附图。
附加图像中的文件名为main.py。
我刚开始使用pytest-bdd框架。
下面是示例特性文件内容:
Scenario Outline: Google multiple search request
Given I want to search in Google
When I search for '<search_request>'
Then I should see link to '<search_result>'
Examples:
| search_request | search_result |
| Pytest BDD