2016-01-13 51 views
0

我一直在爲我的應用程序編寫單元測試,它使用braintreebraintree_python進行計費。該模塊使用pip進行安裝。從braintree導入TestHelper

對於我的部分單元測試,我需要將事務狀態從'submitted_for_settlement'轉換爲'settle',在沙箱中,它需要很長時間才能進行快速單元測試。

Docs和其他問題(1,2),我收集這可以完成使用TestHelper。

問題是,儘管TestHelper似乎存在於braintree/braintree_python回購協議中,但我無法弄清楚如何導入它。

有沒有辦法導入TestHelper並在我的單元測試中使用它?

回答

2

完全披露:我在布倫特裏工作。

你可以使用TestHelper,但我會建議使用TestingGateway。它導入到你的測試文件:

from braintree_python.braintree import TestingGateway 

初始化它的實例與配置爲使用您的沙箱中的網關,並調用其上的沙箱交易方式:

config = Configuration(braintree.Environment.Sandbox, "your_merchant_id", "your_public_key", "your_private_key") 
braintree_gateway = BraintreeGateway(config) 
testing_gateway = TestingGateway(braintree_gateway) 

testing_gateway.settle_transaction("transaction_id") 

這兩個類都需要API調用到Braintree沙盒,所以這可能更適合您的集成測試。

+0

這似乎是工作,謝謝!任何原因[文檔](https://developers.braintreepayments.com/reference/general/testing/python#settlement-status)只提到TestHelper,而不是這個? –

+2

@Evan Giesel很高興你的工作!我們計劃更新文檔以包含此內容。 –