我正在開發CherryPy應用程序,我想爲它編寫一些自動化測試。我選擇使用nosetests。應用程序使用sqlalchemy作爲db後端,所以我需要使用fixture包來提供固定的數據集。我也想做webtest。以下是我如何設置它們:用鼻子/夾具/ webtest(amidoinitrite)測試cherrypy
我在創建所有模型的文件中有一個幫助函數init_model(test = False)
。它連接到生產或測試(如果測試==真或cherrypy.request.app.test ==真)數據庫,並呼籲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來測試並調用self.app.some_method()
這是我第一次在python中進行測試,所有這些看起來都非常複雜。我想知道,如果我正在使用上述軟件包作爲他們的作者意圖,並且它不是過於複雜。