嗨,我正在尋找一個想法,當我在symfony中處理我的功能測試時,跳過我從sfFormExtraPlugin提交的驗證碼?sfFormExtraPlugin reCaptcha在功能測試期間驗證表單嗎?
任何想法?
謝謝!
嗨,我正在尋找一個想法,當我在symfony中處理我的功能測試時,跳過我從sfFormExtraPlugin提交的驗證碼?sfFormExtraPlugin reCaptcha在功能測試期間驗證表單嗎?
任何想法?
謝謝!
如果代碼在測試環境中運行,我完成該操作的方法根本就不是使用驗證碼。這樣你在測試過程中不必擔心它。儘管我仍然在開發環境中運行它,因爲至少在那時我仍然可以確保它一次又一次地工作。
雖然這不是最好的解決方案。我本來希望reCaptcha能夠讓你定義一個額外的「測試」API密鑰,除了密鑰總是會被驗證,所有的東西都可以正常工作,但是他們沒有最後一次檢查。
我想下一個最好的事情是編寫reCaptcha小部件的驗證器,以便如果環境是「測試」或基於某些應用程序配置設置,則只需通過驗證而不打擾reCaptcha服務器。
我很想聽聽有沒有人有更好的想法。
裏德幾個東西,比如擴展驗證,或小部件測試方面,但最後還是我剛纔做的是: 在app.yml:
test:
.general:
recaptcha_enabled: false
在我的形式:
if(sfConfig::get('app_recaptcha_enabled', true))
$this->validatorSchema['captcha'] = new sfValidatorReCaptcha(array('private_key' => sfConfig::get('app_recaptcha_private_key'), "required" => true));
else
$this->validatorSchema['captcha'] = new sfValidatorString(array('required' => false));
就是這樣。 app.yml是環境敏感的,所以你只需要爲你的環境指定值。
希望這是去某人!
感謝您的回答。我終於完成了不同的事情 – Faboo03