Vì vậy, tôi rất noob trong việc đối phó với các plugin mũi.Làm thế nào để thêm một plugin mũi tùy chỉnh vào lệnh `nosetests`
Tôi đã tìm kiếm rất nhiều nhưng tài liệu về các plugin mũi có vẻ khan hiếm. Tôi đọc và cố gắng những gì trong các liên kết sau đây để cố gắng viết một mũi đơn giản cắm và chạy nó với nosetests
, nhưng không thành công:
- https://nose.readthedocs.org/en/latest/doc_tests/test_init_plugin/init_plugin.html
- https://nose.readthedocs.org/en/latest/plugins/writing.html
Tôi không muốn để viết thử nghiệm của riêng mình hoặc chạy thử nghiệm từ bất kỳ tập lệnh nào khác (qua run(argv=argv, suite=suite(), ...)
), giống như họ thực hiện trong liên kết đầu tiên.
Tôi đã viết một tập tin myplugin.py
với một lớp học như thế này:
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
và thêm một setup.py
như thế này:
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'
]
}
)
Cả hai tập tin nằm trong cùng thư mục.
Mỗi lần tôi chạy nosetests --custom-path [path]
, tôi nhận được:
nosetests: error: no such option: --custom-path
Từ các liên kết nêu trên, tôi nghĩ đó là tất cả những gì được yêu cầu phải đăng ký và kích hoạt một plugin tùy chỉnh. Nhưng có vẻ như, hoặc tôi đang làm điều gì đó thực sự sai, hoặc tài liệu của mũi là lỗi thời.
Ai đó có thể vui lòng chỉ cho tôi cách chính xác để đăng ký và bật plugin mà tôi có thể sử dụng với nosetests
?
Cảm ơn rất nhiều !! :)