gpt4 book ai didi

javascript - 使用 Jasmine 测试 TypeScript 类

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

我想问你如何测试接受另一个类的构造函数实例的类。例如我想测试方法'hasChildRoutes()':

    class Route implements ng.route.IRoute {
public url: string;
public config: RouteConfig;

constructor(url: string, config: RouteConfig) {
this.url = url;
this.config = config;
}

public hasChildRoutes(): boolean {
return this.config.childRoutes.length > 0;
}
}

我为此编写了错误的单元测试(我创建了另一个类的新实例,这在我看来很糟糕):

 beforeEach(() => {
routeSetting = new RouteSetting(1, '');
routeConfig = new RouteConfig('', '', routeSetting, [], '');
});


describe('Methods test', () => {
var childRoute: Route;

beforeEach(() => {
route = new Route('', routeConfig);
});

it('sould return false when Route has no child routes', () => {
expect(route.hasChildRoutes()).toBeFalsy();
});

it('sould return true when Route has child routes', () => {
routeConfig = new RouteConfig('', '', routeSetting, [route], '');
route = new Route('', routeConfig);

expect(route.hasChildRoutes()).toBeTruthy();
});
});

最佳答案

在 arrange/act/assert 中提供依赖实例作为 arrange 的一部分是完全有效的。

话虽如此,如果您想单独测试 a(这取决于 b),您可以提供一个模拟 b,例如使用 sinonjs:http://sinonjs.org/

关于javascript - 使用 Jasmine 测试 TypeScript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20371709/

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