import attrs
from hypothesis import given
import hypothesis.strategies as st
@attrs.frozen(kw_only=True)
class Address:
street: str
city: str
AddressStrategy = st.builds(
Address,
street=st.text(),
city=st.text()
)
@given(AddressStrategy)
def test_proper_address(address):
assert len(address.city) < 4
< /code>
Когда я запускаю Pytest, это действительно ловит мою ошибку: < /p>
address = Address(street='', city='0000') # assert len(address.city) < 4
E AssertionError: assert 4 < 4
E + where 4 = len('0000')
E + where '0000' = Address(street='', city='0000').city
main.py:23: AssertionError
< /code>
Согласно документам, кажется, что должно быть возможно < /em> для использования автоматического сгенерированного строителя адресов: < /p>
builds()
будет использоваться автоматически для классов с аннотациями типа на init ...
Но когда я пробую следующие параметры, ни один из работ:
@given(AddressStrategy) def test_proper_address(address): assert len(address.city) < 4 < /code> Когда я запускаю Pytest, это действительно ловит мою ошибку: < /p> address = Address(street='', city='0000') # assert len(address.city) < 4 E AssertionError: assert 4 < 4 E + where 4 = len('0000') E + where '0000' = Address(street='', city='0000').city
main.py:23: AssertionError < /code> Согласно документам, кажется, что должно быть возможно < /em> для использования автоматического сгенерированного строителя адресов: < /p>
builds()[/code] будет использоваться автоматически для классов с аннотациями типа на [b] init [/b] ...
Но когда я пробую следующие параметры, ни один из работ: [list] [*][code]st.register_type_strategy(Address)[/code] [*]@given(Address) [/list]
В нашей базе кода есть множество модульных тестов на основе свойств. Мы хотели бы получить контекстно-аннотированное покрытие кода наших модульных тестов. Pytest может это сделать, но ему необходимо знать, какая часть является фазой «Выполнение»...
Я пытаюсь создать две круглые решетки (одну горизонтальную и одну вертикальную), которые будут отображаться одновременно. В каждом испытании положения двух решеток должны меняться случайным образом.
Пока это мой код, но я не знаю, как добавить...