【问题标题】:testing an angular service without an application在没有应用程序的情况下测试角度服务
【发布时间】:2021-10-06 20:56:39
【问题描述】:

我只有一个包含单个服务的 .ts 文件(不是 Angular 项目)

只是一个文件,不是完整的angular项目,甚至不是angular库(根本不包含angular.json)

我可以将此服务导入任何 Angular 应用程序,并且它工作正常。 我想在它旁边添加一个测试文件,然后通过 jest 作为单个文件运行这个测试,即不在 Angular 应用程序中

我使用TestBed,但我总是得到getComponentFromError

如何在没有完整的 Angular 项目(应用程序或库)的情况下运行测试

【问题讨论】:

标签: angular unit-testing angular-test angular-library


【解决方案1】:

TestBed 将确保使用 Angular 依赖注入和ngZone。如果你不需要那些被测试的服务,你可以使用构造函数实例化服务,然后像任何其他 Angular 测试一样继续。

const sut: MyClass;
beforeEach(() => {
   sut = new MyClass();
})
if(`kill all humans when time has come`, () => {
   const doomsDay = new Date(year, month, day);
   sut.killAllHumanWhenTimeHasCome(doomsDay);
})

如果您也没有测试运行程序和断言引擎,您可以只添加 jasmine,如 the getting started instruction 中所述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 2018-05-15
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    相关资源
    最近更新 更多