Как получить вывод покрытия кода для отображения с помощью экспрессо?
Я работаю над настройкой Expresso и запуском некоторых тестов. Я последовал учебному пособию по узлам и провел 4 теста и прошел их успешно. Теперь я пытаюсь получить выходные данные покрытия кода, когда я запускаю тесты, как показано в документации. Тем не менее, я как бы потерялся.
Мои тесты с примерами базового обучения находятся в файле с именем test.js в папке с именем test:
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 из командной строки, я получаю:
$ expresso
100% 4 tests
Точно так же, если я бегу expresso
с -c
флаг или множество других вариантов, я получаю такой же вывод. Я хотел бы получить вывод покрытия кода, показанный в документах. Я также запускаю команду $ node-jscoverage lib lib-cov
и в папке lib-cov есть что-то
Что мне не хватает?
1 ответ
Наилучший результат, который я нашел на данный момент, - это редактирование путей при тестовом запуске:
Это 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