2009-11-12 46 views
1

我正在使用rakismet寶石提交用戶內容到Akismet進行垃圾郵件測試。如何在Rails應用程序中測試akismet?

到目前爲止,我所做的每項測試都將內容分類爲垃圾郵件。

我開始認爲我做錯了什麼。

有誰知道爲什麼我可能會在我的測試數據中得到所有誤報?

回答

2

...因爲他們是測試數據?

你不能依賴測試中真正的rakismet數據。因爲任何測試都可能在一天或其他時間被檢測爲垃圾郵件。
或僅僅因爲使用rakismet需要你有一個互聯網連接,有時可能不是這樣。

你應該嘲笑rakismet方法並強制它們返回你期望的結果。
例如,您可以使用mocha。並做類似以下內容:

Object.stubs(:spam?).returns(false) 

因此,您的對象將永遠不會出現垃圾郵件。

+0

我手動創建用戶並模擬發送給Rakismet的不同IP地址。我需要檢查一切配置是否正確。你的建議會假裝rakismet總是起作用或者總是不起作用。我不明白這是如何相關的。 – Richard 2009-11-12 23:02:30

+0

那麼這不是你的工作來檢查rakismet是否有效。庫中有一些單元測試(http://github.com/jfrench/rakismet/tree/master/spec/)。這就是rakismet後臺工作正在測試的地方。 – 2009-11-12 23:04:28

+0

如果您願意,您可以在應用程序中包含rakismet的rspec故事。但是當你測試你的模型時,是的,你應該假設一切正常。 – 2009-11-12 23:05:15