私はCherryPyアプリケーションを開発しています。私はいくつかの自動テストを作成したいと思います。私はそれのためにnosetestsを使用することを選んだ。アプリケーションはdbバックエンドとしてsqlalchemyを使用するので、fixtureパッケージを使用して固定データセットを提供する必要があります。また、私はWebテストをしたい。ここで私はそれをすべて一緒に設定する方法です:nose/fixture/webtest(amidoinitrite)でcherrypyをテストする
私はすべてのモデルが作成されたファイル内にヘルパー機能init_model(test = False)
を持っています。それは、製造またはテスト(もしテスト== Trueまたはcherrypy.request.app.test == TRUE)のデータベースに接続し、その後、私はこのようなテストのための基本クラスを作成しているcreate_all
を呼び出します。
class BaseTest(DataTestCase):
def __init__(self):
init_model(True)
application.test = True
self.app = TestApp(application)
self.fixture = SQLAlchemyFixture(env = models, engine = meta.engine, style = NamedDataStyle())
self.datasets = (
# all the datasets go here
)
そして今、私はBaseTestの子クラスを作成し、これはPythonでテストをやって私の最初の時間であり、このすべてが非常に複雑に思えるself.app.some_method()
を呼び出すことによって、私のテストを行います。私は、著者が意図した通り、過度に複雑でない場合に、私が言及したパッケージを使用しているかどうかを知りたい。