Bazı kodları, Jasmine'den Node kullanarak programlı olarak test ediyorum.Çalışan Blanket.js
function runTests() {
var Jasmine = require('jasmine');
var jasmine = new Jasmine();
jasmine.loadConfig({
spec_dir: 'unit-tests',
spec_files: [
'tests-*.js'
]
});
var blanket = require('blanket')();
var TerminalReporter = require('jasmine-terminal-reporter');
var reporter = new TerminalReporter({});
jasmine.addReporter(reporter);
jasmine.execute();
}
runTests();
bu testler çalıştırmak, ben kod kapsamı ayrıntıları almak istiyoruz: Bunu yapmak için, aşağıdaki kurulum ettik. Bunu denerken, ben blanket.js tökezledim. Sorum şu: Kod kapsamı sonuçlarını programlı olarak nasıl programlayabilirim? Yukarıdaki kodu kullanarak bir hata alıyorum. Hata sadece diyor ki:
Error: Bad file instrument indicator. Must be a string, regex, function, or array.
Neden? Neyi yanlış yapıyorum?
Güncelleme benim package.son dosyasında
, ben şu bölümü var: Böyle görünmek benim runTests
fonksiyonunu güncelledik
"config": {
"blanket": {
"data-cover-flags": {
"engineOnly":true
}
}
}
:
function runTests() {
var Jasmine = require('jasmine');
var jasmine = new Jasmine();
jasmine.loadConfig({
spec_dir: 'unit-tests',
spec_files: [
'tests-*.js'
]
});
// Setup the coverage reporter
var blanket = require("blanket")();
var blanketReporter = function(coverageData) {
console.log(coverageData);
};
blanket.customReporter = blanketReporter;
blanket.instrument({
inputFile: 'library.js'
}, function(result) { });
var TerminalReporter = require('jasmine-terminal-reporter');
var reporter = new TerminalReporter({});
jasmine.addReporter(reporter);
jasmine.execute();
}
library.js
'use strict';
class Processor
{
execute(vals) {
let result = 0;
vals.forEach(function(v) {
result += v;
});
return result;
}
}
module.exports = Processor;
Yukarıdaki kod, konsol penceresinden node main.js
numaralı telefonu arayarak çalıştırdığım "main.js" adlı bir dosyadadır. "library.js" aynı seviyededir ve testler "./unit-tests/tests.js" adresindeki bir çocuk dizinindedir. Yukarıdaki çalıştığında, customerReporter kodu asla çağrılmaz. Nedenini anlamıyorum.
[yasemin Test atlet kullanma talimatları] (https://github.com/alex-seville/blanket/blob/v1.1.7/docs/intermediate_browser.md). – approxiblue
Hala Node'den çalışan bir battaniye yok. –
'' library.js''' neye benziyor? –