typescript - Chutzpah kan inte hitta variabel


Jag använder TypeScript 1.0 med Visual Studio 2012, Chutzpah 3.2.1.1 och Jasmine 2.

Jag har ett mycket grundläggande test som kompilerar utan problem, men som inte passerar när jag använder Visual Studio Chutzpah Test Adaptor eller kommandoradsverktyget.

Jag får följande fel

ReferenceError: Kan inte hitta variabel: MyProject i....

Mitt projekt är strukturerat så här:

**solution**

   TypeScriptProject
      X.ts

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

TypeScriptProjekt\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);
    });

}); 

Eftersom det kompilerar utan problem, bör referenserna i TestX.ts vara korrekta.

Mitt problem verkar vara annorlunda än Chutzpah som kör Jasmine i TFS 2012 inte kan hitta refererade filen under test eftersom jag får felet i Visual Studio testköraren och verkar handla om att använda Team Build.

Svar #1

Som standard antar Chutzpah att käll- och ut-mappen för kompilering är platsen för chutzpah.json-filen. Men i ditt fall bör dessa mappar vara en nivå högre eftersom du kompilerar .ts-filer som inte är på eller under platsen för chutzpah.json-filen.

Så genom att lägga till sourcedirectory och outdirectory i kompilationsinställningarna kommer det att fungera bra:

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

Relaterade artiklar