首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python文件而不是从命令行运行pytest测试

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

Stack Overflow用户
提问于 2020-11-24 13:58:32
回答 2查看 1.4K关注 0票数 3

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

min_max.py =>需要测试的一些基本功能

代码语言:javascript
复制
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

min_max_test.py =>对函数的一些测试

代码语言:javascript
复制
import min_max

def test_min():
    print("starting")
    values = (2, 3, 1, 4, 6)
    val = min(values)
    assert val == 1
    print("done test_min")


def test_max():
    print("starting")
    values = (2, 3, 1, 4, 6)
    val = max(values)
    assert val == 6
    print("done test_max") 

TestCases1.py =>文件,我想从那里运行测试

代码语言:javascript
复制
import pytest
pytest_args = [
    'c:\Tests\min_max_test.py'
]

pytest.main(pytest_args)
EN

回答 2

Stack Overflow用户

发布于 2020-11-24 17:10:41

可以选择地使用subprocess在您的python脚本上运行pytest命令。例如,

代码语言:javascript
复制
# ~/tests
import subprocess
subprocess.run(["pytest . -q"], shell=True)
>>>
.                                                                                             [100%]
1 passed in 0.00s
CompletedProcess(args=['pytest . -q'], returncode=0)
票数 1
EN

Stack Overflow用户

发布于 2020-11-24 14:04:59

min_max_test.py中,测试函数中的minmax变量名将从内置中获取,而不是从min_max.py文件中获取。

您要么需要使用类似于min_max.min的东西,要么使用from导入而不是整个模块导入导入这些函数。

请包括错误信息和问题,并具体说明你有什么问题。使事情变得容易得多:)

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

https://stackoverflow.com/questions/64988044

复制
相关文章

相似问题

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