gpt4 book ai didi

使用 Jasmine 的 TypeScript 中的 AngularJS 单元测试未运行

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

我在 Visual Studio 2013 的 Web 应用程序中将 AngularJS 与 TypeScript 结合使用。我可以很好地在 JavaScript 中运行测试,但无法运行用 TypeScript 编写的测试。事实上,对于用 TypeScript 编写的每个测试,ReSharper Test Runner 都显示“测试未运行”状态,我不知道为什么。当我阅读有关此主题的博客时,它们准确描述了我的工作。

我的单元测试代码是:

/// <reference path="../typings/jasmine/jasmine.d.ts" />
/// <reference path="../AngularApp/Models/Member.ts" />
/// <reference path="../AngularApp/Models/Contract.ts" />


describe("Member", () => {
"use strict";

var contracts = new Array<App.Controllers.Contract>();
var sut = new App.Controllers.Member("Elvis", "Presley", "350108-11.2222",
new Date("1935-01-08"), new Date("1977-08-16"), "M", "Home", "", "90210", "Graceland",
contracts);

it("must not be null", () => {
expect(sut).not.toBeNull();
});


it("must contain zero Contracts", () => {
expect(sut.contracts).not.toBeNull();
expect(sut.contracts.length).toBe(0);
});
});

什么会导致这个问题?

最佳答案

你不能直接运行用 typescript 编写的测试,它们需要先转译成 js。由于您使用的是 visual studio,我想您的 ts 文件是在保存时编译的,因此您需要检查测试配置文件(例如 Karma.conf.js)以查看它是否在正确的目录中寻找测试。如果你想调试你的 ts 测试文件,你在 visual studio 中的测试运行器必须支持源映射。看看这个 Vs2013 的测试运行程序:https://github.com/MortenHoustonLudvigsen/KarmaTestAdapter .它支持源映射。

关于使用 Jasmine 的 TypeScript 中的 AngularJS 单元测试未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31067952/

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