Я хочу создать уникальные идентификаторы, которые не повторяются.Я пытался использовать st.uuids ()
Это мой код
class MyTest(<class that inherits from unittest.TestCase>)
@hypothesis.seed(0)
@hypothesis.settings(derandomize=True)
@hypothesis.setting(use_coverage=False)
@hypothesis.given(st.uuids())
def test(self, test_id):
logging.info('test_id %s', test_id)
logging.info('self.ids %s', self.ids)
if test_id in self.ids:
logging.info('SHOULD NOT BE HERE')
else:
logging.info('HAPPY')
self.ids.append(test_id)
Однако я получаю 1 повтор.Любые советы о том, как избежать повторений?
test_id 5bc8fbbc-bde5-c099-4164-d8399f767c45
self.ids [UUID ('e3e70682-c209-4cac-629f-6fbed82c07cd'), UUID ('1ee77147-c7be-894d-5073-79c36d3c338d'), UUID ('734007f9-e3b1-3a59-bac6-78e47a6e8c0f'), UUID ('97343ee7-03f6-c7c0-d0040e') UU3d757d12193edd-6aac-c6b6-8caf-d66c89075de6 '), UUID (' ea37c9e0-a3f9-3fe5-0b68-afbaab69828e '), UUID (' e13a37b0-f328-3835-4a40-cfc1142ac3af366)-6b68-1fc4502323be '), UUID (' cbf97494-2dae-a0f6-43a5-5203d7fdc239 '), UUID (' 94012b2d-1221-006b-266c-7dcefecc417e '), UUID (' e05fb0-f0-f0-f0)), UUID ('c6148cd8-b446-bc4f-7fea-3b29b7b93ee5'), UUID ('cd613e30-d8f1-6adf-91b7-584a2265b1f5'), UUID ('d95bafc8-f2a4-dfb-db-db-db)5af6e118-6344-2432-9707-6fb276cfc8bf '), UUID (' c1a4bbe2-f5bc-beed-3a7c-be792b90ac94 '), UUID (' 01457085-dc53-6b6a-b47f-3aefd77685b6 '663)-a3e3-c900e848b602 '), UUID (' 21636369-8b52-9b4a-97b7-50923ceb3ffd '), UUID ('b8a1abcd-1a69-16c7-4da4-f9fc3c6da5d7 '), UUID (' 5bc8fbbc-bde5-c099-4164-d8399f767c45 ')]
НЕ СЛЕДУЕТ ЗДЕСЬ
* 1015Я вижу этот идентификатор в операторах журнала чуть выше этого.
Интересно, имеет ли @cacheable или @defines_strategy_with_reusable_values какое-либо отношение к нему https://github.com/HypothesisWorks/hypothesis/blob/cedbafe52934e5f710be41c51044388ef3047850/hypothesis-python/src/hypothesis/strategies.py#L1868