2017-04-10 55 views
1

我開始用Python和Falcon和Gunicorn編寫一個小型的REST API。我想寫一些集成測試,我不知道如何設置適當的測試環境(例如切換到另一個數據庫)。你有一些很好的建議或教程嗎?我如何使用Falcon配置測試環境

我目前的想法是可能會引入一些中間件並提供一個頭文件。如果標題已設置,我可以切換到我的測試配置。

回答

3

絕對不會爲集成測試的唯一目的添加中間件。你應該做的是設置一些配置文件供你的服務器使用。開發,測試和產品是一個體面的設置。每個文件都可以指向不同的數據庫,併爲您的服務器提供不同的端口。我相信你甚至可以在你的個人電腦上同時啓動開發和測試服務器並且無任何問題地運行。 Python可以使用config模塊。您可以在shell中設置環境變量,以便服務器知道要使用哪個配置文件。例如。在bash中FALCON_ENV='DEV'然後在python中,您可以使用os模塊來獲取環境變量 - os.environ['FALCON_ENV']。希望有所幫助,隨時提出更多問題。

+0

感謝你對這個問題的答案。這絕對聽起來像一個堅實的方法。然而,我已經有一個巨大的碼頭堆棧正在運行,我想盡可能保持堆棧儘可能小。然而,每臺服務器的配置可能是最佳做法 – Sebastian

+0

我感到你的痛苦。在我目前的docker設置中,我有一些docker-compose覆蓋文件在容器配置之間切換。所以你可以有一個docker-compose覆蓋腳本來構建測試而不是dev。然後編寫一個腳本來執行''''docker-compose down''' &&'''docker-compose up -fdocker-compose.test.yml''' –

+0

此外,碼頭容器通常很輕,所以你應該檢查你的內存使用情況,然後再選擇退出某些新容器。 –