gpt4 book ai didi

visual-studio-2013 - TypeScript + Chutzpah + Jasmine - 如何在单元测试中包含依赖项?

转载 作者:搜寻专家 更新时间:2023-10-30 21:43:32 26 4
gpt4 key购买 nike

我正在使用 Chutzpah 测试运行程序和 Jasmine 库运行 Visual Studio 13。我想测试 A 类,它依赖于 B 类。A 类也依赖于 JQuery,所以我的代码看起来像这样:

/// <reference path="../typings/jquery/jquery.d.ts"/>
/// <reference path="../B.ts"/>

describe("A", () => {
it("can be instaniated", () => {
var instance = new A();
});
});

但是当我运行测试运行器时出现错误:错误:ReferenceError:找不到变量:$ 所以测试运行器似乎无法解析输入 include对于 JQuery?

我尝试添加以下代码:

/// <reference path="../jquery-2.1.1.js"/>

但是编译器提示说只有“.ts”文件是有效的?!那我在这里错过了什么?我认为在 TS 文件中包含 JS 文件是可以的吗?为什么我在 Jasmine 测试中需要 -blocks 但在应用程序的其他任何地方都不需要(编译器自动解析依赖关系)?

在 TypeScript 中运行 Chutzpah + Jasmine 时,是否有解决依赖关系的“标​​准方法”?

最佳答案

从 TypeScript 调用 JavaScript 是完全有效的。

在您的情况下,您可以做以下两件事之一...

  1. 添加declare var $: any;
  2. Download the definition for jQuery from Definitely Typed

我推荐第二个选项,因为您将获得正确的编译器检查和自动完成。

您可以获取 Definitely Typed definition using NuGet ,这使它变得 super 简单。

此外,您需要记住在运行时包含实际脚本(并以正确的顺序,即下面的脚本标记需要在您尝试使用 jQuery 之前出现)...

<script src="jquery.js"></script>
<script src="a-script-that-depends-on-jquery.js"></script>

引用注释纯粹是一种设计/编译时工具,并不能确保在程序运行时加载这些脚本。

关于visual-studio-2013 - TypeScript + Chutzpah + Jasmine - 如何在单元测试中包含依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26543773/

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