Pracuję z projektem testowania, w którym piszę konfigurację Jasmine Karma czysto JavaScript, aby przetestować wstępnie skompilowaną konfigurację Maszynopis. Jednak nie mogę uruchomić przypadków testowych.Jasmine testów nie uruchamia się w zdefiniowaniu w skompilowanym Typescript
Widzę, że komunikaty konsoli pochodzące ze skompilowanego maszynopisu w konsoli są w porządku, ale po prostu nie uruchamiają skryptów testowych.
Uwaga ta pochodzi z AngularApp, ale cała ta część pochodzi z sekcji utworzonej i skompilowanej bez Angular2.
Nie ma komunikatu o błędzie, poza tym pokazano, że testy 0/0 zostały uruchomione, a nie było znacznika czasu dla "komponentu/do/testu".
W pliku test.spec.js mam
define("testName", ["component/to/test"], function(component){
describe("testing module", function(){
it("should work", function(){expect(true).toEqual(true)});
})
}
W skompilowanego pliku maszynopis, myTs.js
var requirejs, require, define;
(function (global) {
define("component/to/test" ["depend", "ences"]), function(depend,ences)
{ more code here })
some compiled typescript here
});
require.config({
path: {path to javascript libs},
shim: { ... }
})
W moim pliku karma
basePath: '',
frameworks: ['jasmine', 'requirejs'],
files: [
'lib1',
'lib2',
'spec/test-main.js',
{pattern: 'js/*.js', included: true, served: true},
{pattern: 'spec/*.spec.js', included: false, served: true}
],
exclude: [],
reporters: ['progress'],
autoWatch: true,
browsers: ['Chrome']
W mój test-main.js, który dostałem od karma init po zapytaniu, czy chcę użyć requirejs.
var allTestFiles = []
var TEST_REGEXP = /(spec|test)\.js$/i
Object.keys(window.__karma__.files).forEach(function (file) {
if (TEST_REGEXP.test(file)) {
var normalizedTestModule = file.replace(/^\/base\/|\.js$/g, '')
allTestFiles.push(normalizedTestModule)
}
})
require.config({
baseUrl: 'base',
deps: allTestFiles,
callback: window.__karma__.start
})
Komentarze i niektóre niezwiązane z tym opisem kody zostały usunięte.