在 factory boy 中使用 Faker 清除独特的缓存

问题描述 投票:0回答:0

我正在使用 Faker from inside factory boy,我们得到了使我们的测试失败的重复值。 Faker 具有生成唯一值的能力,但对于给定的提供者(如 first_name),它具有有限数量的值。我们进行了 100 次测试,过了一会儿,所有的唯一值都被使用了,我们得到了一个 UniquenessException。我读到有一个 unique.clear() 可以清除已经看到的值,但这似乎不起作用。我检测了 faker/proxy.py 以记录何时调用 clear 以及已经看到的值的长度是多少,尽管调用了 clear,但长度继续增加。我认为这是范围问题,但我已经尝试了许多不同的方法。 Faker是从我们的工厂调来的。我试过从每次测试之前运行的自动使用函数调用它,甚至在每次测试开始时。我需要实例化 Faker 来调用 clear 函数——也许每次我这样做时,它都不是工厂使用的同一个实例。

有人对我如何清除测试之间已经看到的缓存有任何想法、想法和建议吗?

pytest faker factory-boy
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.