如何将模拟库安装到 Angular 的单元测试中?我想将 sinon-chrome 安装到观众测试中

问题描述

我正在开发一个用 angular 编写的 Google Chrome 扩展程序,我需要为使用 Chrome API 的组件编写单元测试。我找到了一个我相信可以胜任这项工作的图书馆。

https://www.npmjs.com/package/sinon-chrome

但是,我对 Angular 没有足够的经验,不知道如何准确地使用该库。 usage section 表示我需要在常量中要求值,但我不知道如何或在哪里。这是否在单元测试中?这是否在 karma 文件中? the examples.

中的 global.chrome 是什么

我的单元测试代码。除了这个 chrome 模拟问题外,它运行良好。

const angularFireAuthMock = {
    // eslint-disable-next-line @typescript-eslint/no-empty-function
    onAuthStateChanged: () => {},};
 
describe('AppComponent',() => {
    let spectator: spectator<AppComponent>;
    const createComponent = createComponentFactory({ component: AppComponent,mocks: [FirestoreService],providers: [{
        provide: AngularFireAuth,useValue: angularFireAuthMock,}] });
 
    beforeEach(() => {
        spectator = createComponent();
    });
 
    it('should create the app',() => {
        expect(spectator.component).tobedefined();
    });
});

AppComponent 是 Chrome

感谢您的帮助。

解决方法

我建议您只检查现有示例。

去他们的github:https://github.com/acvetkov/sinon-chrome

在右侧,您可以看到“Used by”。去那里:https://github.com/acvetkov/sinon-chrome/network/dependents?package_id=UGFja2FnZS0xMzc4MTk5MA%3D%3D

然后通过repo去repo,在搜索栏中搜索“sinon-chrome”(不带引号)

这应该会向您展示其他人如何使用该软件包,并且我希望它能让您了解您的问题。