0
我用下面的一飲而盡任務browserify standalone option生成UMD模塊:Browserify獨立的測試覆蓋率(UMD)模塊
gulp.task("bundle-source", function() {
var b = browserify({
standalone : 'inversify',
entries: __dirname + "/build/source/inversify.js",
debug: true
});
的獨立選項包裝用下面的代碼庫中的代碼,以確保其能作爲一個Node模塊,一個AMD模塊或一個Global:
!function(n) {
if ("object" == typeof exports && "undefined" != typeof module) module.exports = n();
else if ("function" == typeof define && define.amd) define([], n);
else {
var e;
e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, e.inversify = n()
}
}(function() {
return function n(e, t, i) {
function r(u, p) {
if (!t[u]) {
if (!e[u]) {
var s = "function" == typeof require && require;
if (!p && s) return s(u, !0);
if (o) return o(u, !0);
var c = new Error("Cannot find module '" + u + "'");
throw c.code = "MODULE_NOT_FOUND", c
}
var f = t[u] = {
exports: {}
};
e[u][0].call(f.exports, function(n) {
var t = e[u][1][n];
return r(t ? t : n)
}, f, f.exports, n, e, t, i)
}
return t[u].exports
}
for (var o = "function" == typeof require && require, u = 0; u < i.length; u++) r(i[u]);
return r
}({
// The rest of the library code ...
我正在使用伊斯坦布爾試圖實現100%我的問題是UMD代碼片段的某些部分未經過測試。例如,我沒有使用AMD所以像下面的那些行從未執行:
\\ ...
else if ("function" == typeof define && define.amd) define([], n);
\\ ...
或
\\ ...
if (!e[u]) {
var s = "function" == typeof require && require;
if (!p && s) return s(u, !0);
if (o) return o(u, !0);
var c = new Error("Cannot find module '" + u + "'");
throw c.code = "MODULE_NOT_FOUND", c
}
\\ ...
這是阻止我實現100%的測試覆蓋率。你知道我怎樣才能解決這個問題?
謝謝!
嘗試涵蓋browserify的樣板文件真的很有價值嗎? – JMM
嗯,它是一個開源項目,能夠顯示100%的測試覆蓋率標誌將鼓勵一些人信任該項目,我相信這是非常有價值的東西。 –
在我看來,這是一個愚蠢的指標,因爲這一切都取決於用戶信任你實現良好測試的程度。如果他們願意以徽章爲基礎來信任你,也許他們願意相信你來覆蓋重要的東西,而不用擔心像UMD包裝器那樣微不足道的東西。 – JMM