पर कस्टम नाक प्लगइन कैसे जोड़ें, इसलिए मैं नाक प्लगइन से निपटने में बहुत नोब हूं।'nosetests` कमांड
मैं बहुत कुछ खोज रहा हूं लेकिन नाक प्लगइन्स के बारे में दस्तावेज़ दुर्लभ प्रतीत होते हैं। मैंने पढ़ा है और करने की कोशिश की क्या निम्नलिखित लिंक में है एक सरल नाक प्लगइन लिखने और nosetests
साथ इसे चलाने के लिए प्रयास करने के लिए, सफलता के बिना:
- https://nose.readthedocs.org/en/latest/doc_tests/test_init_plugin/init_plugin.html
- https://nose.readthedocs.org/en/latest/plugins/writing.html
मैं नहीं चाहता अपना खुद का टेस्ट रनर लिखने या किसी अन्य स्क्रिप्ट से परीक्षण चलाने के लिए (run(argv=argv, suite=suite(), ...)
के माध्यम से), जैसे वे पहले लिंक में करते हैं।
मैं इस तरह एक वर्ग के साथ एक फ़ाइल myplugin.py
लिखा है:
import os
from nose.plugins import Plugin
class MyCustomPlugin(Plugin):
name = 'myplugin'
def options(self, parser, env=os.environ):
parser.add_option('--custom-path', action='store',
dest='custom_path', default=None,
help='Specify path to widget config file')
def configure(self, options, conf):
if options.custom_path:
self.make_some_configs(options.custom_path)
self.enabled = True
def make_some_configs(self, path):
# do some stuff based on the given path
def begin(self):
print 'Maybe print some useful stuff...'
# do some more stuff
और एक setup.py
इस तरह कहा:
try:
from setuptools import setup, find_packages
except ImportError:
import distribute_setup
distribute_setup.use_setuptools()
from setuptools import setup, find_packages
setup(
name='mypackage',
...
install_requires=['nose==1.3.0'],
py_modules=['myplugin'],
entry_points={
'nose.plugins.1.3.0': [
'myplugin = myplugin:MyCustomPlugin'
]
}
)
दोनों फ़ाइलें एक ही निर्देशिका में कर रहे हैं।
हर बार जब मैं nosetests --custom-path [path]
चलाने के लिए, मैं:
nosetests: error: no such option: --custom-path
ऊपर उल्लेख लिंक से, मैंने सोचा था कि यह सब रजिस्टर और एक कस्टम प्लगइन सक्षम करने के लिए आवश्यक था। लेकिन ऐसा लगता है कि, या तो मैं वास्तव में कुछ गलत कर रहा हूं, या नाक के दस्तावेज़ पुराने हैं।
क्या कोई मुझे पंजीकरण करने और प्लगइन सक्षम करने का सही तरीका बता सकता है, जिसका उपयोग मैं nosetests
के साथ कर सकता हूं?
बहुत बहुत धन्यवाद !! :)