目前我正在開發一段代碼,它首先從一組文檔中搜集句子,然後對這些句子進行標記,然後使用結果分析令牌序列的循環頻率,包括案例變體(大寫/小寫/引導帽/其他),然後打印出結果。實施多階段過程時的TDD策略?
現在我希望在打印出結果之前引入兩個階段:
1.首先,去除「停用詞」(即詞或短序列其頻率永遠是興趣,比如,在英語,「其中」,「其中」,等等) - 從數據庫表中獲取這些停用詞/「停止序列」
2.其次,調出使用戶能夠識別序列的對話新的停用詞,然後刪除所涉及的令牌序列,並將有問題的序列添加到數據庫表中。
問題是,這是一個多階段過程,我只是想知道TDD專家面臨的情況是什麼樣的:我爲每個單獨的階段創建一個新的測試方法......?問題在於每個單獨的階段都需要使用前一階段的「實時內存數據」:另一種可能性是以某種方式將這些數據序列化,然後在測試下一階段時對其進行反序列化......但是這會涉及應用程序代碼做的事情只對測試代碼有好處,也就是說,這意味着爲測試代碼的好處調整(「扭曲」?)應用程序代碼,這在原則上似乎是錯誤的...
此外,如果任何人都可以將我指向一本書或網站的方向,以幫助像我這樣的TDD新手進入「更高層次」,我將非常感激。
後
爲了誰該標記爲「最喜歡」的人:現在我有一本書叫「成長的面向對象的軟件,通過測試指導」,這是保持良好審查和似乎是有人想從初學者到中級。第一印象不錯。
專家對本書有任何意見也歡迎,當然...
要明確一點,您已經對流程的現有階段進行了測試,您的問題是關於您正在引入的新階段? – forsvarir
我剛剛在單個功能測試中開發了現有的2個階段......我現在想知道如何將多階段過程在實踐中由經驗豐富的TDD人員分解......作爲第一步,我把這兩個階段放到不同的方法中(我使用Jython,而這一切都發生在SwingWorker中)。但只是爲特定的舞臺製作一個方法仍然留下了爲每個要測試的方法創建**前置條件**的問題......希望這是有道理的...... –