math_func.py
def add(x,y):
return x+y
def product(x,y)
return x*y
test_math_func.py
from math_func import add, subtract
import pytest
import sys
# @pytest.mark.skip(reason="Do not run number add test")
# @pytest.mark.skipif(sys.version_info < (3, 3), reason="Do not run number add test")
@pytest.mark.number
def test_add():
assert add(3,4) == 7
print(f'Inside test_add: {assert add(3,4)}')
@pytest.mark.parameterize('arg1, arg2, result',
[
(7, 3, 10),
('Hello', ' World', 'Hello World')
(5.5, 4.5, 10)
]
)
def test_add_parameterize(arg1, arg2, result):
assert add(arg1, arg2) == result
@pytest.mark.number
def test_product():
assert add(3,4) == 12
@pytest.mark.strings
def test_add_strings():
assert add(3,4) == 7
result add('Hello', ' World')
assert result == 'Hello World'
assert 'Hello' in result
assert type(result) is str
@pytest.mark.strings
def test_product_strings():
assert product('Hello', 3) == 'HelloHelloHello'
How to run
pytest test_match_func.py
pytest test_match_func.py -v
pytest test_match_func.py::test_add
(-k Expression)
pytest -v -k "add" # runs tests with "add" string, run both test_add & test_add_strings
pytest -v -k "add or string" # runs all 3
pytest -v -k "add and string" # runs test_add_strings alone
(-m, --markers)
pytest -v -m number # run those marked as number
pytest -v -m strings # run those marked as strings
pytest -v -x --tb=no # It won't show error stack trace
pytest -v --maxfail=2
pytest -v -s # -s option will output any print lines
pytest -v -q # quite mode, will not print how many test passed
pytest Tutorial 2 -Fixtures (check the other blog)
def add(x,y):
return x+y
def product(x,y)
return x*y
test_math_func.py
from math_func import add, subtract
import pytest
import sys
# @pytest.mark.skip(reason="Do not run number add test")
# @pytest.mark.skipif(sys.version_info < (3, 3), reason="Do not run number add test")
@pytest.mark.number
def test_add():
assert add(3,4) == 7
print(f'Inside test_add: {assert add(3,4)}')
@pytest.mark.parameterize('arg1, arg2, result',
[
(7, 3, 10),
('Hello', ' World', 'Hello World')
(5.5, 4.5, 10)
]
)
def test_add_parameterize(arg1, arg2, result):
assert add(arg1, arg2) == result
@pytest.mark.number
def test_product():
assert add(3,4) == 12
@pytest.mark.strings
def test_add_strings():
assert add(3,4) == 7
result add('Hello', ' World')
assert result == 'Hello World'
assert 'Hello' in result
assert type(result) is str
@pytest.mark.strings
def test_product_strings():
assert product('Hello', 3) == 'HelloHelloHello'
How to run
pytest test_match_func.py
pytest test_match_func.py -v
pytest test_match_func.py::test_add
(-k Expression)
pytest -v -k "add" # runs tests with "add" string, run both test_add & test_add_strings
pytest -v -k "add or string" # runs all 3
pytest -v -k "add and string" # runs test_add_strings alone
(-m, --markers)
pytest -v -m number # run those marked as number
pytest -v -m strings # run those marked as strings
(-x, --exitfirst)
pytest -v -x # If any first failure, it totally exits and does not execute following testspytest -v -x --tb=no # It won't show error stack trace
pytest -v --maxfail=2
pytest -v -s # -s option will output any print lines
pytest -v -q # quite mode, will not print how many test passed
pytest Tutorial 2 -Fixtures (check the other blog)
No comments:
Post a Comment