2012-01-11 6 views
3

私はExpressoをセットアップし、いくつかのテストを実行するよう取り組んでいます。私はtutorial on node tutsと一緒に続いて、4つのテストを実行し、通過しています。今私はdocsショーのようなテストを実行したときに表示されるコードカバレッジ出力を取得しようとしています。しかし、私は一種の失われています。expressoを使用してコードカバレッジ出力を表示するにはどうすればよいですか?

私のスーパーの基本的な学習の例のテストはtestというフォルダ内にtest.jsというファイルにあります。

var Account = require('../lib/account'); 

require('should'); 

module.exports = { 
    "initial balance should be 0" : function(){ 
     var account = Account.create(); 
     account.should.have.property('balance'); 
     account.balance.should.be.eql(0); 
    }, 

    "crediting account should increase the balance" : function(){ 
     var account = Account.create(); 
     account.credit(10); 
     account.balance.should.be.eql(10); 
    }, 

    "debiting account should decrease the balance" : function(){ 
     var account = Account.create(); 
     account.debit(5); 
     account.balance.should.be.eql(-5); 
    }, 

    "transferring from account a to b b should decrease from a and increase b": function(){ 
     var accountA = Account.create(); 
     var accountB = Account.create(); 
     accountA.credit(100); 
     accountA.transfer(accountB, 25); 
     accountA.balance.should.be.eql(75); 
     accountB.balance.should.be.eql(25); 
    } 
} 

、コード自体はLIB/account.jsである:

var Account = function(){ 
    this.balance = 0; 
} 

module.exports.create = function(){ 
    return new Account(); 
} 

Account.prototype.credit = function(amt){ 
    this.balance += amt; 
} 

Account.prototype.debit = function(amt){ 
    this.balance -= amt; 
} 

Account.prototype.transfer = function(acct, amt){ 
    this.debit(amt); 
    acct.credit(amt); 
} 

Account.prototype.empty = function(acct){ 
    this.debit(this.balance); 
} 

私は、コマンドラインからエスプレッソ実行すると、私が手:

$ expresso 

    100% 4 tests 

を同様に、私はexpressoを実行した場合-cフラグやその他のさまざまなオプションは、私は同じ出力を取得します。私はドキュメントに示されているコードカバレッジの出力を取得したいと思います。私もコマンド$ node-jscoverage lib lib-covを実行しました。lib-covフォルダには今のものがあります。

私は何が欠けていますか?

私がこれまでに見つけた
+0

であるが、それはあなたのテストが失敗した場合にのみ、異なる出力を持っていませんか? – fent

+0

Yaですが、テストの合格にかかわらず、コードカバレッジのための追加出力があるはずです。画像例:http://dl.dropbox.com/u/6396913/cov.png – hookedonwinter

答えて

0

最良の結果は、テストの実行にパスを編集しました:

これはrun_tests.sh

#! /bin/bash 

rm -Rf ./app-cov 
node_modules/expresso/deps/jscoverage/node-jscoverage app/ app-cov 
NODE_PATH=$NODE_PATH:/usr/local/lib/node:/usr/local/lib/node_modules:./mmf_node_modules:./app-cov node_modules/expresso/bin/expresso -c 
関連する問題