进行Jest测试,使变量可以访问所有测试文件

时间:2018-03-06 15:02:47

标签: javascript typescript integration-testing jestjs

问题是我在开始测试之前有一些准备工作要做。我有几个测试文件,每个测试文件都要求在每个测试文件之前打开兔子连接,并在每个文件中的所有测试结束后关闭它。问题是我必须在测试文件中复制代码才能打开和关闭连接。如何在一个文件中处理连接。我正在使用TypeScript,因此在这种情况下, jest-environment-node jest-set 等几种解决方案都没有用。我也有可能使用安装文件解决这个问题:

"setupFiles": [
      "./src/inttests/partial/mocks/setup.ts"
    ],

并在设置文件中写入:

let channel: PubChannel;

beforeAll(() => {
  channel = new PubChannel('amqp://localhost', true);
  exports.ss = new SystemService(channel); // or using globals but it doesn't actually work in both cases.
});

afterAll(async () => {
    await channel.closeConnection();
  }
);

问题是我需要 ss 变量才能在测试中使用以调用某些函数。但我不知道如何从setupt.ts文件中获取它们,因为我无法使用 export kew字,因为该值已在 beforeAll 范围。有没有机会解决这个荒谬的问题?

0 个答案:

没有答案