从python文件而不是命令行运行pytest测试

从python文件而不是命令行运行pytest测试,python,pytest,Python,Pytest,我在一个目录(c:\Tests)中有三个python文件,我试图使用文件TestCases1.py中的pytest运行测试,但没有成功。我是python新手,不知道我问的问题是否正确。我已经看过几个例子,但几乎所有的例子都使用命令行来运行测试,我想从python文件中运行它们。由于我是测试新手,我希望得到一个非常简单的答案(我见过一些类似的问题,但我没有得到答案)。我正在使用Python36-32和EclipseOxy3A min\u max.py=>一些需要测试的基本功能 def min(va

我在一个目录(c:\Tests)中有三个python文件,我试图使用文件TestCases1.py中的pytest运行测试,但没有成功。我是python新手,不知道我问的问题是否正确。我已经看过几个例子,但几乎所有的例子都使用命令行来运行测试,我想从python文件中运行它们。由于我是测试新手,我希望得到一个非常简单的答案(我见过一些类似的问题,但我没有得到答案)。我正在使用Python36-32和EclipseOxy3A

min\u max.py=>一些需要测试的基本功能

def min(values):
    _min = values[0]
    for val in values:
        if val < _min:
            _min = val
    return _min

    

def max(values):
    _max = values[0]
    for val in values:
        if val > _max:
            _max = valal
    return _max
TestCases1.py=>我要从中运行测试的文件

import pytest
pytest_args = [
    'c:\Tests\min_max_test.py'
]

pytest.main(pytest_args)

min\u max\u test.py
中,测试函数中的
min
max
变量名将取自内置文件,而不是您的min\u max.py文件

您需要使用类似于
min\u max.min
的方法,或者使用
from
导入而不是完整模块导入来导入这些函数


另外,请将错误信息与问题一起包括在内,并具体说明您遇到的问题。更简单:)

min\u max\u test.py
中,测试函数中的
min
max
变量名将取自内置文件,而不是您的min\u max.py文件

您需要使用类似于
min\u max.min
的方法,或者使用
from
导入而不是完整模块导入来导入这些函数


另外,请将错误信息与问题一起包括在内,并具体说明您遇到的问题。更简单:)

或者,您可以使用
子流程
在python脚本上运行pytest命令。比如说,

# ~/tests
import subprocess
subprocess.run(["pytest . -q"], shell=True)
>>>
.                                                                                             [100%]
1 passed in 0.00s
CompletedProcess(args=['pytest . -q'], returncode=0)

或者,您可以使用
子流程
在python脚本上运行pytest命令。比如说,

# ~/tests
import subprocess
subprocess.run(["pytest . -q"], shell=True)
>>>
.                                                                                             [100%]
1 passed in 0.00s
CompletedProcess(args=['pytest . -q'], returncode=0)

为什么要从Python文件运行测试?我真的很想知道为什么不,为什么总是从命令行运行测试。为什么要从Python文件运行测试?我真的很想知道为什么不,为什么总是从命令行运行测试。这很有效!,非常感谢你。我还必须指出,为了得到有效的通知,我必须强制一个错误的断言!但是我没有足够的声望去投票!!成功了!,非常感谢你。我还必须指出,为了得到有效的通知,我必须强制一个错误的断言!但是我没有足够的声望去投票!!