如何使用内部使用另一个插件的蓝图测试新的 cloudify 插件?
How to test a new cloudify plugin with a blueprint that internally uses another plugin?
我正在开发一个新的 cloudify 插件,我按照插件模板使用 tox、nosetests 和 @workflow_test 装饰器对其进行了测试。
我想测试插件与另一个插件(特别是 openstack 插件)的交互。因此,我使用的蓝图导入了我的插件(测试 yaml 文件)和 openstack yaml 文件,然后从我的插件和 openstack 定义了一些节点。
问题是我收到模块 python 导入错误,因为在 tox/nosetests 创建的测试环境中找不到 openstack 插件。我尝试在 运行 nosetests 之前使用 wagon 安装插件,但安装失败。
谁能告诉我该怎么做?
您是否尝试过需求文件?在您的 tox.ini 文件中,您应该能够像这样定义您的测试要求:
[testenv:py27]
deps =
-rdev-requirements.txt
-rtest-requirements.txt
然后将分支 zip(例如 master)的 URL 放入您的 test-requirements.txt
文件中:
https://github.com/cloudify-cosmo/cloudify-openstack-plugin/archive/master.zip
nose>=1.3
tox
总的来说,我发现 workflow_test
不是很有用,通常我最终会为了同样的目的而写其他东西。例如,这些功能在这个测试基地中基本上做同样的事情:
https://github.com/cloudify-incubator/cloudify-ecosystem-test/blob/791f02a27313ac0b63b029c66ead333cb17c4d9c/ecosystem_tests/init.py#L100
https://github.com/cloudify-incubator/cloudify-ecosystem-test/blob/791f02a27313ac0b63b029c66ead333cb17c4d9c/ecosystem_tests/init.py#L151
https://github.com/cloudify-incubator/cloudify-ecosystem-test/blob/791f02a27313ac0b63b029c66ead333cb17c4d9c/ecosystem_tests/init.py#L225
我正在开发一个新的 cloudify 插件,我按照插件模板使用 tox、nosetests 和 @workflow_test 装饰器对其进行了测试。
我想测试插件与另一个插件(特别是 openstack 插件)的交互。因此,我使用的蓝图导入了我的插件(测试 yaml 文件)和 openstack yaml 文件,然后从我的插件和 openstack 定义了一些节点。
问题是我收到模块 python 导入错误,因为在 tox/nosetests 创建的测试环境中找不到 openstack 插件。我尝试在 运行 nosetests 之前使用 wagon 安装插件,但安装失败。
谁能告诉我该怎么做?
您是否尝试过需求文件?在您的 tox.ini 文件中,您应该能够像这样定义您的测试要求:
[testenv:py27]
deps =
-rdev-requirements.txt
-rtest-requirements.txt
然后将分支 zip(例如 master)的 URL 放入您的 test-requirements.txt
文件中:
https://github.com/cloudify-cosmo/cloudify-openstack-plugin/archive/master.zip
nose>=1.3
tox
总的来说,我发现 workflow_test
不是很有用,通常我最终会为了同样的目的而写其他东西。例如,这些功能在这个测试基地中基本上做同样的事情:
https://github.com/cloudify-incubator/cloudify-ecosystem-test/blob/791f02a27313ac0b63b029c66ead333cb17c4d9c/ecosystem_tests/init.py#L100
https://github.com/cloudify-incubator/cloudify-ecosystem-test/blob/791f02a27313ac0b63b029c66ead333cb17c4d9c/ecosystem_tests/init.py#L151
https://github.com/cloudify-incubator/cloudify-ecosystem-test/blob/791f02a27313ac0b63b029c66ead333cb17c4d9c/ecosystem_tests/init.py#L225