gpt4 book ai didi

typescript - Chutzpah 找不到变量

转载 作者:搜寻专家 更新时间:2023-10-30 20:36:04 24 4
gpt4 key购买 nike

我在 Visual Studio 2012、Chutzpah 3.2.1.1 和 Jasmine 2 中使用 TypeScript 1.0。

我有一个非常基本的测试,可以很好地编译,但没有通过使用 Visual Studio Chutzpah 测试适配器或命令行测试。

我得到以下错误

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

我的项目结构如下:

**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);
});

});

由于编译正常,TestX.ts 中的引用应该是正确的。

我的问题似乎与Chutzpah running Jasmine in TFS 2012 can't find referenced file under test 不同因为我在 Visual Studio 测试运行程序中遇到错误并且似乎在谈论使用 Team Build。

最佳答案

默认情况下,Chutzpah 假定用于编译的源目录和输出目录是 chutzpah.json 文件的位置。但是,在您的情况下,这些目录应该更高,因为您正在编译不在 chutzpah.json 文件位置或以下位置的 .ts 文件。

因此,通过将源目录和输出目录添加到编译设置中,它将正常工作:

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

关于typescript - Chutzpah 找不到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23734687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com