私はDjangoで私のテストスイートに小さな問題があります。Djangoとdocfilesのテスト
私はDjangoとPlone(http://pypi.python.org/pypi/jquery.pyproxy)の両方で動作するPythonパッケージに取り組んでいます。 すべてのテストは、Pythonコードまたは別のdocfile(README.txtなど)のいずれかでdoctestとして記述されています。
私は、これらのテストはうまく実行されていることができますが、Djangoはちょうどそれらをカウントされません:
[vincent ~/buildouts/tests/django_pyproxy]> bin/django test pyproxy
...
Creating test database for alias 'default'...
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
しかし、私はいくつかの失敗のテストを持っていた場合、それが正しく表示されます。
[vincent ~/buildouts/tests/django_pyproxy]> bin/django test pyproxy
...
Failed example:
1+1
Expected nothing
Got:
2
**********************************************************************
1 items had failures:
1 of 44 in README.rst
***Test Failed*** 1 failures.
Creating test database for alias 'default'...
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
これがどのように私ですテストスイートは現在宣言されています:
import os
import doctest
from unittest import TestSuite
from jquery.pyproxy import base, utils
OPTIONFLAGS = (doctest.ELLIPSIS |
doctest.NORMALIZE_WHITESPACE)
__test__ = {
'base': doctest.testmod(
m=base,
optionflags=OPTIONFLAGS),
'utils': doctest.testmod(
m=utils,
optionflags=OPTIONFLAGS),
'readme': doctest.testfile(
"../../../README.rst",
optionflags=OPTIONFLAGS),
'django': doctest.testfile(
"django.txt",
optionflags=OPTIONFLAGS),
}
私はテストを宣言するときに間違っていると思いますiteしかし、私はそれが正確であるかの手がかりを持っていません。 doctest.testfileまたはdoctest.testmodは、そのテストで呼び出すとき
import os
import doctest
from django.utils import unittest
from jquery.pyproxy import base, utils
OPTIONFLAGS = (doctest.ELLIPSIS |
doctest.NORMALIZE_WHITESPACE)
testmods = {'base': base,
'utils': utils}
testfiles = {'readme': '../../../README.rst',
'django': 'django.txt'}
def suite():
return unittest.TestSuite(
[doctest.DocTestSuite(mod, optionflags = OPTIONFLAGS)
for mod in testmods.values()] + \
[doctest.DocFileSuite(f, optionflags = OPTIONFLAGS)
for f in testfiles.values()])
どうやら問題:あなたの助け、 ヴィンセント
質問に「私は結局解決しました...」を入れないでください。これを削除します。答えを作成します。それを解決した場合は、解答として投稿する必要があります。質問の続きではなく、回答を回答として投稿する方がはるかに優れています。 –
これは私が最初に試したものですが、数時間前まで私自身の質問に答えることはできません。これを可能な限り更新します。 – Vincent