Пример
def main(p):
if foo_a(p):
return False
return p**2
def foo_a(p):
return p % 11 == 0
Теперь вы можете получить 100% тестовое покрытие по
import unittest
from script import main
class Foobar(unittest.TestCase):
def test_main(self):
self.assertEquals(main(3), 9)
Но, возможно, кто-то хотел foo_a
вместо p % 2 == 0
.
Вопрос
Освещение ветвления могло бы пролить свет на это, но я также хотел бы знать, если функция никогда не вызывалась «напрямую» тестом (например, main
в примере), но только косвенно (например, foo_a
в примере).
Возможно ли это с помощью pytest?