pylint や pyflakes 用のノーズ プラグインはあるのでしょうか?
現在、鼻のテストにカバレッジと組織(PEP8) プラグインを使用しています。
事前にTnx
Pyflakes を使用するテスト ジェネレーターを作成したことがあります。これは Nose プラグインではありませんが、私のニーズには十分に近いものでした。
import os
import _ast
from pyflakes import checker
import your_application
TOP = os.path.dirname(os.path.dirname(your_application.__file__))
class PyflakesError(AssertionError):
def __str__(self):
path = self.args[0]
messages = self.args[1]
messages.sort(key=lambda m: m.lineno)
return 'checking %s\n' % path + '\n'.join(map(str, messages))
def check(path):
code = open(os.path.join(TOP, path)).read()
tree = compile(code, path, "exec", _ast.PyCF_ONLY_AST)
w = checker.Checker(tree, path)
if w.messages:
raise PyflakesError(path, w.messages)
def test():
for root, dirs, files in os.walk(TOP):
for name in files:
if not name.endswith('.py'):
continue
yield check, os.path.relpath(os.path.join(root, name), TOP)
def is_package(d):
return os.path.exists(os.path.join(root, d, '__init__.py'))
dirs[:] = filter(is_package, dirs)
このtest
関数は、 を含むディレクトリ内の各 Python ファイルのテスト ケースを生成しますyour_application
。必要に応じて調整TOP
して、他のディレクトリをテストできます。