06 березня 2019 р.
Функція, яку ми хочемо протестувати, може мати декілька варіантів вихідних даних. Можна написати по окремій тест-функції для кожного кейсу, а можна застосувати декоратор @pytest.mark.parametrize
Наприклад функція get_color(value) може повернути наступні значення: "black", "white", "red", "green". Всі ці кейси покриваємо в одній тест-функції:
def get_color(value):
colors = {
1: 'black',
2: 'white',
3: 'red',
4: 'green',
}
return colors.get(value, 'blue')
@pytest.mark.parametrize('value, result', [
(1, 'black'),
(2, 'white'),
(3, 'red'),
(4, 'green'),
(10, 'blue'),
(55, 'blue'),
])
def test_get_color(value, result):
expected = get_color(value)
assert expected == result
Вишенька на торті - git команда, яка забирає тільки зміни
Встановлення і запуск PyCharm через application menu linux (ubuntu)