Python 有没有办法确定代码是否在pytest下运行(即在生产中)?

Python 有没有办法确定代码是否在pytest下运行(即在生产中)?,python,pytest,Python,Pytest,我想在Python代码中根据变量是在单元测试中运行还是在生产中运行,将其设置为不同的值 假设我们不能将其他参数传递给测试运行程序,或者在生产环境中没有设置任何环境变量 A_LOCAL_变量=1,如果由_pytest()运行,否则为0 我的期望是,通过检查代码是否在pytestrunner下运行,我可以更改变量的值 理想情况下,如果代码由pytest运行程序运行,那么我们可以使用一些预定义的环境变量来识别它。但是我找不到文档,或者我使用了错误的关键字。您可以使用配置变量。我们的每个可执行环境都有自

我想在Python代码中根据变量是在单元测试中运行还是在生产中运行,将其设置为不同的值

假设我们不能将其他参数传递给测试运行程序,或者在生产环境中没有设置任何环境变量

A_LOCAL_变量=1,如果由_pytest()运行,否则为0

我的期望是,通过检查代码是否在pytestrunner下运行,我可以更改变量的值


理想情况下,如果代码由pytest运行程序运行,那么我们可以使用一些预定义的环境变量来识别它。但是我找不到文档,或者我使用了错误的关键字。

您可以使用配置变量。我们的每个可执行环境都有自己的配置文件。我们的一些测试针对不同的环境使用不同的值,如单点登录测试

你为什么要这样做?几乎可以肯定,有一种更好的方法可以解决您的潜在问题。如果检测到正在测试的代码行为不同,则很难正确测试。我的根本问题是,\u LOCAL \u变量的值对不同环境下的性能有巨大的负面影响。比如说,它是一个值,比如1024,用于指定数据分区号。在生产中,它对性能有很好的影响,因为数据量很大。然而,在单元测试中,我们使用的数据集要小得多,并且由于指定了太多的数据分区,测试的速度会减慢。所以我想为测试和生产设置不同的值,比如1024用于生产,1用于单元测试。为什么不把它作为一个参数呢?