Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jest测试,使变量可用于所有测试文件_Javascript_Typescript_Integration Testing_Jestjs - Fatal编程技术网

Javascript Jest测试,使变量可用于所有测试文件

Javascript Jest测试,使变量可用于所有测试文件,javascript,typescript,integration-testing,jestjs,Javascript,Typescript,Integration Testing,Jestjs,问题是,在开始测试之前,我有一些准备工作要做。我有几个测试文件,每个文件都要求在每个测试文件之前打开兔子连接,在每个文件中的所有测试结束后关闭兔子连接。问题是我必须在测试文件中复制代码来打开和关闭连接。如何在一个文件中处理连接。我使用的是TypeScript,因此在这种情况下,jest环境节点、jest集等几种解决方案都没有帮助。此外,我还可以使用以下安装文件解决此问题: "setupFiles": [ "./src/inttests/partial/mocks/setup.ts"

问题是,在开始测试之前,我有一些准备工作要做。我有几个测试文件,每个文件都要求在每个测试文件之前打开兔子连接,在每个文件中的所有测试结束后关闭兔子连接。问题是我必须在测试文件中复制代码来打开和关闭连接。如何在一个文件中处理连接。我使用的是TypeScript,因此在这种情况下,jest环境节点jest集等几种解决方案都没有帮助。此外,我还可以使用以下安装文件解决此问题:

"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文件中使用它们,因为我不能使用导出kew word,因为该值在之前的范围内已被修改。有机会解决这个可笑的问题吗?

你有没有检查过类似的问题