Для высокопроизводительного кода на разных архитектурах вам может понадобиться выделение malloc-y, а не родовое новое. Это связано с тем, что вы могли бы обернуть его чем-то вроде mymalloc (), а затем использовать функции, зависящие от архитектуры, такие как те, которые реализуют правильное выравнивание, чтобы избежать промахов в кеше и выполнять другие отличные вещи, предоставленные производителем оборудования, например IBM (Bluegene) или Intel (MIC). Все эти оптимизированные процедуры распределения имеют структуру типа malloc.
То, что вы определяете как «test_power_value», на самом деле будет не тестом, а вспомогательной функцией в pytest.
В pytest вы запускаете тестовые функции в своем коде - pytest выполняет тесты для вас - поэтому он ищет приборы. Просто переименуйте вашу функцию, чтобы она не начиналась с «test»
def assert_power_value(simple, power, result):
assert simple.power_value(power) == result
И вы можете использовать это в test:
def test_foo():
x = 1
with pytest.raises(AssertionError):
assert_power_value(x, 2, 5)
и десять запустите ваши тесты:
[ 112]