0

我正在开发处理模态窗口中的一些逻辑的 Electron 应用程序。这些窗口正在等待异步操作解决,然后自动关闭。现在我正在努力使用 Spectron 和 Jest 测试这种行为:似乎没有方法可以捕捉窗口的关闭然后继续进行其他测试。

目前我的代码是

it('doing its job', async () => {
  // awaits and expects that aren't related

  await app.client.click('button[data-role="close"]');
  await new Promise(r => setTimeout(r, 1000));
  expect(await client.getWindowCount()).toBe(1);
});

它有效,但我发现它非常反模式。我想知道是否有任何方法可以做类似的事情

it('doing its job', async () => {
  // awaits and expects that aren't related

  await app.client.click('button[data-role="close"]');
  await app.client.waitUntilWindowCloses(windowIndex);
  expect(await client.getWindowCount()).toBe(1);
});

任何帮助表示赞赏。

4

1 回答 1

1
await app.client.waitUntil(async () => (await app.client.getWindowCount()) === 1);
于 2020-04-03T08:55:03.487 回答