0

我正在尝试使用@xstate/testpuppeteer 和 jest 并结合它来自动生成结果。使用 jest 的beforeAllafterAll挂钩,我正在调用page.setRequestInterception并注册一个回调来拦截网络请求并模拟它们的响应。

XState 生成我想要测试的路径,并且我可以从每条路径中确定测试是否想要测试 API 失败或成功时应该发生的情况。我被困在如何正确地将其传达给 puppeteer 并在我的请求处理程序中访问该信息。

4

1 回答 1

0

我发现的一种选择是使用查询参数。Request传递给事件处理程序的对象有权访问发出请求的

在我的测试中:

it(..., async () => {
  await page.goto('http://localhost:3000?failApi=true')
  ..

在我的请求处理程序中:

page.on('request', req => {
   // check req.frame.url() here and make choices
...
于 2020-02-16T18:23:43.997 回答