如何在测试文件中包含 Typescript 命名空间?

How do you include a Typescript namespace in a test file?

我有一个 Foo.ts 文件,其中包含 namespace Foo { ... } 和一些导出函数。我想使用一个名为 Foo.test.ts 的测试文件来测试这个命名空间中的函数。

///<reference path="./Foo.ts" />
import './Foo';
console.log(typeof Foo)

但是,当我尝试使用 mocha 运行 测试文件时,出现错误。

 ReferenceError: Foo is not defined

如何包含 typescript 命名空间以便我可以访问 Foo.bar() 和其他导出函数?

这里似乎有足够的关于命名空间的文档:Typescript Namespaces

您的 Foo.ts 应如下所示:

export namespace Foo {
 export function Bar() {
      return 'Bar';
 }
}

然后在另一个文件中:

import * as Foo from './Foo';
console.log(typeof Foo)

我认为你可以这样做:

import { Foo } from './Foo';
console.log(typeof Foo)