- 此问题在此处已有答案**:
Detect django testing mode(7个答案)
3天前关闭。
现在我们可以知道代码是否在DEBUG模式下运行:
https://stackoverflow.com/a/16648628/2544762
但同时,当我们在单元测试中运行代码时,我们总是得到debug == False
。
https://docs.djangoproject.com/en/4.1/topics/testing/overview/#other-test-conditions
在我自己的情况下,我只是真的想在调试条件下编写一些代码,并希望用debug == True
测试它,我该怎么做呢?
那么,有没有办法检测代码是否在用test运行?在任何地方。
2条答案
按热度按时间0h4hbjxa1#
有没有什么方法可以检测代码是否在运行test?
是的。
你想要一个与django提供的有不同语义的标志,所以定义一个新的。
你可以
touch
一个文件并测试它的存在性,或者总是写0或1到一个文件,定义一个由os.getenv( ... )
读取的env变量,接受一个sys.argv
选项,定义一个全局变量。你有一个图灵机供你使用。可能性是无限的。tez616oj2#
我的情况是我想知道settings.DEBUG是否设置为True。
如果我用途:
无论我实际设置什么,输出总是False。
该文档告诉我们原因:https://docs.djangoproject.com/en/4.1/topics/testing/overview/#other-test-conditions
但在我的情况下,我们可以有另一种选择来读取设置:
这样,我们就可以避开这个问题.