2014-05-19 8 views
7

Sto usando dattiloscritto 1.0 con Visual Studio 2012, Chutzpah 3.2.1.1 e Jasmine 2.Chutzpah Non riesci a trovare variabile

Ho un test molto semplice, che compila bene, ma non passa utilizzando il Visual Studio Chutzpah Test Adapter o quello della riga di comando.

ottengo il seguente errore

ReferenceError: Can't find variable: MyProject in....

Il mio progetto è strutturato in questo modo:

**solution** 

    TypeScriptProject 
     X.ts 

    TestProject 
     chutzpah.json 
     compile.bat 
     Scripts\(contains typings) 
     Spec 
     TestX.ts 

TypeScriptProject \ X.ts

module MyProject { 
    export class X { 
     getValue(): number { 
      return 5; 
     } 
    } 
} 

TestProject \ chutzpah.json

{ 
"Framework": "jasmine", 
"Compile": { 
    "Extensions": [".ts"], 
    "ExtensionsWithNoOutput": [".d.ts"], 
    "Executable": "compile.bat" 
    }, 
"References": [ 
    { "Path": "../TypeScriptProject/X.ts"} 
], 
"Tests": [ 
    { "Path": "Spec"} 
] 
} 

TestProject \ compile.bat

@echo off 
tsc Spec/TestX.ts ../TypeScriptProject/X.ts --sourcemap 

TestProject \ Spec \ TestX.ts

/// <reference path="../Scripts/typings/jasmine/jasmine.d.ts"/> 
/// <reference path="../../TypeScriptProject/X.ts"/> 
describe("test x value", function(){ 
    it("should", function(){ 
     var x = new MyProject.X(); 
     expect(x.getValue()).toEqual(5); 
    }); 

}); 

Dal momento che compila bene, i riferimenti a TestX.ts dovrebbe essere corretta.

Il mio problema sembra essere diverso da Chutzpah running Jasmine in TFS 2012 can't find referenced file under test in quanto ottengo l'errore nel test runner di Visual Studio e sembra parlare dell'utilizzo di Team Build.

risposta

6

Per impostazione predefinita, Chutzpah presuppone che la directory di origine e di uscita per la compilazione sia la posizione del file chutzpah.json. Tuttavia, nel tuo caso queste directory dovrebbero essere una più alta dato che stai compilando file .ts che non sono né al di sotto né al di sotto della posizione del file chutzpah.json.

Quindi aggiungendo la sourcedirectory e outdirectory alle impostazioni di compilarlo funzionerà bene:

{ 
"Framework": "jasmine", 
"Compile": { 
    "Extensions": [".ts"], 
    "ExtensionsWithNoOutput": [".d.ts"], 
    "Executable": "compile.bat", 
    "SourceDirectory": "../", 
    "OutDirectory": "../", 
    }, 
"References": [ 
    { "Path": "../TypeScriptProject/X.ts"} 
], 
"Tests": [ 
    { "Path": "Spec"} 
] 
} 
+0

Perfetto - avevo fatto presupposti errati su ciò che la cartella di riferimenti stava facendo. Grazie per la pronta risposta su entrambe le mie domande. – row1