2011-10-27 4 views
0

私は、テキストの段落がカテゴリに属しているかどうかを判断する(つまり、true/falseを返す)分類関数を持っています。私は実世界の例を並べていますが、100%正確に分類するとは思いません。RSPECは、90%のパスが十分であることを示すテストを処理できますか?

def meal?(text) 
    !text.match(/restaurant|meal|wine|.../i).nil? 
end 

RSPECは、私がその機能に例のこれらの何百ものフィード時に限り、90%が正しく識別されているとして、それがパスとしてカウント、というテストを指定することはできますか?さらに、レポートで失敗したRSPECの出力例を持つことがより効果的です。もし可能ならば、そのようなテストをどのように書くことができますか?

答えて

2

total_correct = 0; 
@examples.each do |e| 
    match = text.match(/restaurant|meal|wine|.../i) 
    match.nil? ? puts e : total_correct += 1 
end 
(total_correct.to_f/@examples.size).should >= 0.9 

RSpecが比較できるか、ブール式に減らすことができるものは、ソフトウェアではほとんどすべてが処理できます。それはそれを表現する方法を考え出すだけの問題です。

+0

ありがとうございます。すべてのテストが実行され、HTMLやコンソールの出力であれば、レポートの一部になった後に不正なテキストを出力するAPI方法がありますか? – lulalala

+0

実際はそうではありませんが、単にファイルに記録する独自の出力方法を書くことができます。あなたが必要とするものに応じて、それは簡単かもしれません。しかし、実際にユニットテストに参加しているかどうかはわかりません。実装の正確さではなく、トレーニングの質を測るように聞こえるからです。 – jefflunt

関連する問題