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"}
]
}
