我正在尝试在我的打字稿类中使用枚举,但我也在尝试使用 Jest 对其进行测试。
我的枚举类如下所示:
enum Register {
A = "A",
X = "X",
Y = "Y",
PC = "PC",
SP = "SP"
}
Object.freeze(Register);
module.exports = Register;
在我的 CPU 类的顶部,我有这样一行:
import { Register } from "./register";
如果我这样做,这个应用程序会在浏览器中加载并且工作正常。但是,我的 Jest 测试表明:
Cannot read property 'A' of undefined
如果我像这样删除 Register 周围的花括号:
// @ts-expect-error - ./register is not a module - but this allows Jest test
import Register from "./register";
我没有收到任何错误(由于抑制)并且我可以使用枚举很好地运行我的测试,但是在浏览器中,它显示 ReferenceError: CPU is not defined
目前我正在对运行应用程序时的行进行注释并取消对输入的注释。
我想知道,是否有任何打字稿注释(类似于 @ts-ignore
)会阻止该行编译为 Javascript 文件? - 我在 HTML 中包含了 enum js 文件,以便它可供类使用,只是想知道是否有更自动化的解决方案来解决这个问题。