在本地文件中写入tox钩子
tox-local-hooks的Python项目详细描述
有了这个插件,本地tox hook实现可以在文件toxhooks.py中定义,该文件与tox配置文件位于同一文件夹中。
这将使编写自定义的tox本地钩子变得更容易。您只需在tox hooks.py中编写钩子(而不是创建一个以tox-开头的插件包,然后将其安装在tox所在的位置)。
示例
tox.ini文件
[tox]minversion=3.8.0 requires= tox-local-hooks skipsdist=true[testenv]whitelist_externals= bash randpwdenv= TESTPASSWORD commands= bash -c 'echo RANDOM PASSWORD: $TESTPASSWORD'
然后在与tox ini文件相同的文件夹中创建toxhooks.py文件
importpluggy,string,randomhookimpl=pluggy.HookimplMarker("tox")@hookimpldeftox_addoption(parser):parser.add_testenv_attribute("randpwdenv",type="string",help="Random password environmental variable")@hookimpl(tryfirst=True)deftox_configure(config):forenvConfinconfig.envconfigs.values():ifenvConf.randpwdenv:pwd=''.join(random.choice(string.ascii_letters)for_inrange(10))envConf.setenv[envConf.randpwdenv]=pwd
运行tox时,您应该能够看到以下输出
RANDOM PASSWORD: {some_random_string}