pytest运行sample
时间: 2023-10-12 16:11:35 浏览: 80
运行pytest测试用例的命令为:
```
pytest <test_file.py>
```
其中`<test_file.py>`是要运行的测试文件名,例如:
```
pytest test_sample.py
```
这将运行当前目录下的`test_sample.py`文件中的所有测试用例。如果你想只运行某个测试函数,可以使用`-k`选项,例如:
```
pytest test_sample.py -k test_sample_function
```
这将只运行`test_sample_function`这个测试函数。你还可以使用`-m`选项来选择运行特定标记的测试用例,例如:
```
pytest test_sample.py -m slow
```
这将只运行被标记为`@pytest.mark.slow`的测试用例。
相关问题
pytest 运行脚本 -k参数详解
`pytest` 是一个非常流行的 Python 测试框架,它提供了许多强大的功能来帮助开发者编写和运行测试。其中,`-k` 参数是一个非常有用的选项,它允许你根据表达式来选择要运行的测试用例。
### `-k` 参数详解
`-k` 参数用于指定一个表达式,只有匹配该表达式的测试用例才会被执行。这个表达式可以包含简单的字符串匹配、正则表达式等。
#### 基本用法
1. **简单字符串匹配**:
```bash
pytest -k "test_example"
```
这将运行所有名称中包含 `test_example` 的测试用例。
2. **正则表达式**:
```bash
pytest -k "test_[0-9]+"
```
这将运行所有名称匹配正则表达式 `test_[0-9]+` 的测试用例,即名称以 `test_` 开头并跟随一个或多个数字的测试用例。
3. **逻辑运算**:
你可以使用逻辑运算符(如 `and`, `or`, `not`)来组合多个条件。例如:
```bash
pytest -k "test_example and not test_exclude"
```
这将运行所有名称中包含 `test_example` 但不包含 `test_exclude` 的测试用例。
4. **排除测试**:
你还可以使用 `not` 关键字来排除某些测试用例。例如:
```bash
pytest -k "not slow"
```
这将运行所有名称中不包含 `slow` 的测试用例。
#### 示例
假设你有以下测试文件 `test_sample.py`:
```python
def test_fast():
assert True
def test_slow():
assert True
def test_example_1():
assert True
def test_example_2():
assert True
```
你可以使用不同的 `-k` 参数来运行特定的测试用例:
- 运行所有名称中包含 `example` 的测试用例:
```bash
pytest -k "example"
```
输出:
```plaintext
============================= test session starts =============================
...
collected 4 items / 2 deselected / 2 selected
test_sample.py::test_example_1 PASSED [ 50%]
test_sample.py::test_example_2 PASSED [100%]
============================= 2 passed in 0.02s =============================
```
- 运行所有名称中包含 `1` 的测试用例:
```bash
pytest -k "1"
```
输出:
```plaintext
============================= test session starts =============================
...
collected 4 items / 3 deselected / 1 selected
test_sample.py::test_example_1 PASSED [100%]
============================= 1 passed in 0.01s =============================
```
- 运行所有名称中包含 `fast` 但不包含 `slow` 的测试用例:
```bash
pytest -k "fast and not slow"
```
输出:
```plaintext
============================= test session starts =============================
...
collected 4 items / 3 deselected / 1 selected
test_sample.py::test_fast PASSED [100%]
============================= 1 passed in 0.01s =============================
```
###
pytest 命令行运行 前缀加上python
不需要在 pytest 命令前加上 python 前缀,直接在命令行中输入 pytest 就可以运行 pytest 测试了。如果你在虚拟环境中安装了 pytest,那么确保你已经激活了该虚拟环境。如果你想指定运行某个测试文件或测试函数,可以使用 pytest 命令后跟文件名或函数名。例如,运行名为 test_sample.py 中的所有测试函数可以使用如下命令:
```
pytest test_sample.py
```
如果想运行某个特定的测试函数可以使用如下命令:
```
pytest test_sample.py::test_function_name
```
其中 `test_function_name` 是你想要运行的测试函数的名称。
阅读全文