首页 > 解决方案 > 尝试在通常扩展全局类的 Jest 测试中实例化一个类

问题描述

我正在一个框架中工作,其中在全局范围内声明了许多基类而不是导入。

例如:

文件 bar.js:

export class Bar extends Foo {
}

Foo 永远不会被导入。当框架运行时,它将类 Foo 添加到全局范围,因此当 bar.js 加载时, Foo 已经存在于该全局范围中。

我正在尝试为扩展这些基类之一的类编写一个开玩笑的单元测试。它总是失败 ReferenceError: Foo is not defined

这是我的单元测试的样子:

import { Bar } from '../lib/bar.js

describe('Bar', () => {
  test('has constructor', () => {
    let bar = new Bar()
    expect(bar).not.toBeNull()
  })
})

有可能完成这项工作吗?我试过global.Foo = class Foo {}在我的测试文件中做类似的事情,但我尝试过的任何事情都不能满足被测文件中对 Foo 的引用。

标签: javascriptnode.jsunit-testingjestjs

解决方案


推荐阅读