我有一個Typescript + Node + Angular2 + Electron應用程序,目前正在嘗試運行測試節點類,也寫在Typescript中。運行在TypeScript中編寫的茉莉花測試
對於構建應用程序和電子中運行它,我使用以下tsconfig:
"compilerOptions": {
"module": "system",
"target": "es6",
...
}
因此,大家可以看到,它使用systemjs和編譯TS到JS-ES6。它工作正常,應用程序本身正在工作。
現在我需要茉莉花來登機。我安裝此NPM包,更新了我一口任務運行一飲而盡,茉莉只是1個文件:
gulp.task('jasmine', function() {
gulp.src('./test/test.js')
.pipe(jasmine())
});
這是我test.js看起來像:
System.register(["./models-src/app/models/pathWatch/pathWatch"], function(exports_1, context_1) {
"use strict";
var __moduleName = context_1 && context_1.id;
var pathWatch_1;
return {
setters:[
function (pathWatch_1_1) {
pathWatch_1 = pathWatch_1_1;
}],
execute: function() {
describe("Run Application:",() => {
it("starts",() => {
var pw1 = new pathWatch_1.PathWatch();
expect(true).toEqual(true);
});
});
}
}
});
所以,沒有什麼特別的,1 import-1test-1assert,用SystemJs的東西包裝。 當我嘗試運行此測試時,出現錯誤:「系統未定義」。
我的問題是:
1)是否有可能運行茉莉測試,內部使用systemjs裝載機?
2)如果可能,我是否需要安裝/配置一些額外的東西?
3)我試着編譯TS使用Module =「commonjs」,它的工作。但我不想爲編譯和測試編譯我的源代碼。爲什麼它沒有任何額外的操作就可以正常使用commonjs?
4)另外我嘗試使用Module =「es6」編譯TS。它不工作,我有一個錯誤「意外的保留字」。是否有可能運行在JS ES6中編寫的茉莉花測試,而無需將它們轉換成ES5?
非常感謝!
請將[so]上的問題限制爲每個問題一個問題。在單個帖子中詢問多個問題會使問題投票更難,以及答案更難。 –