【发布时间】:2017-08-16 13:41:23
【问题描述】:
我有一个非常简单的抽象类,我在 Angular 服务中实现了它。我正在尝试为其编写一些测试,但在 Jasmine 文档中找不到有关测试抽象类的任何信息。
import { Page } from '../models/index';
import { Observable } from 'rxjs/Observable';
export abstract class ILayoutGeneratorService {
abstract generateTemplate(page: Page, deviceType: string ): Observable<string>;
}
抽象类实现如下:
export class DefaultLayoutGeneratorService implements ILayoutGeneratorService {
generateTemplate(page: Page, deviceType: string): Observable<string> {
return Observable.create((observer: any) => {
// do something with result.
});
}
我想知道如何编写一个基本的独立单元测试来检查上面的类是否可以实现以及它的单个方法是否被调用。我知道我必须以某种方式模拟类的实现,但我不确定如何去做。
【问题讨论】:
-
您想进行什么样的测试?展示具体的测试用例
-
我已经更新了实现(见上文)
-
你删除了你的评论吗?
-
不,我只是将实现移至原始问题。往上看。
-
你无法测试抽象类是否可以实现……你甚至无法测试类是否是抽象的,因为测试在 JavaScript 上运行而 JavaScript 没有抽象类跨度>
标签: angular typescript testing jasmine