2012-02-03 6 views
2

背景:Rails 3.2、Cucumber 1.1.4、およびSimpleCov 0.5.4を実行しています。SimpleCovは内部のdef /メソッドをカバーしていません

私たちはすべてのキュウリのスペックをパスしており、コードをカバーする必要があります。しかし、奇妙なことに、SimpleCovによって生成されたCucumberカバレッジレポートをチェックすると、実際のメソッド/ def内のコードはまったく対象になりません。どのメソッドコードもカバーされていません。見知らぬ事は、クラス名、モジュール名、アクセサー宣言が含まれていることです!

ので、この例では、ライン01、02、03、07 04カバーとして示されていないが、、05、08、09

01 class Summary 
02 attr_accessor :jobs 
03 def initialize (events) 
04 @events = events 
05 createJobs 
06 end 
07 def createJobs 
08 code here 
09 code here 
10 end 
11 end 

すべてのヘルプはそんなにいただければ幸いです!

ありがとうございました。

+0

クラス名、モジュール名、およびアクセサ宣言は、クラス自体が初めて読み込まれたときに解析されるという意味で説明されています。クラスを作成してから、クラスをロードするだけのテストを実行すると、同じことが表示されます。あなたの質問の主要な部分には考えがありません。 –

+0

@MarcTalbot - 情報ありがとうございます。だから、私のカバレッジは基本的に0です。定義がスペックなしでもカバーされているからです。 –

答えて

2

私は今何が起こっているか知っていると思います。私のキュウリの機能/手順はコードを直接テストするのではなく、ブラウザを使ってテストします(capybaraを使用)。そのため、カバレッジがコード(コントローラ/モデル)を実行していない可能性があります。

これが当てはまる場合、是正処置はありますか?私はコントローラ/モデルを私のキュウリで言及する必要はない/必要としません...むしろユーザーの視点(ブラウザ)からテストしています。

関連する問題