使用 Cypress 13 推送 aws-eventbridge 事件

Pushing aws-eventbridge events with Cypress 13

提问人:Arthur 提问时间:10/31/2023 更新时间:11/2/2023 访问量:32

问:

对于测试,我需要将事件推送到 aws-eventbridge 中,我有以下代码,该代码在 Cypress 12.7 上运行

在steps.ts上:

Given("the user has an event", async () => {
    const payload = indexerPayload([{}]); // this just returns an static object with default values
    cy.task("seedTx", payload).then((r) => {
        cy.log(JSON.stringify(r, null, 2));
    });
    cy.wait(5000);
});

在cypress.config.ts

  on(
    "task",{
      'seedTx': (mockIndexerPayload) => {
        return insertTxEvents([mockIndexerPayload]);
      }
    }
  );

在我有eventBridge.ts

export const insertTxEvents = async (txs: object[]) => {

  const client = new EventBridgeClient({region: 'eu-west-1'});
  const entries = txs.map((tx) => {
    return { 
      Time: new Date("TIMESTAMP"),
      Source: "TEST",
      Resources: [],
      DetailType: "EVENT_DETAIL",
      Detail: JSON.stringify(tx, null, 2),
      EventBusName: "my-bus",
      TraceHeader: "Tests",
    };
  });
  const input = {
    Entries: entries
  };
  const command = new PutEventsCommand(input);
  return client.send(command);
};

在我尝试更新到 Cypress 13 之前,这一直工作正常,现在我在 IDE 上没有收到任何警告,但是当此步骤运行时,我得到:

cucumber preprocessor detected that you returned a native promise from a function handler, this is not supported. using async / await is generally speaking not supported when using cypress, period, preprocessor or not.

谁能帮忙?宁愿不要被困在柏树 12 中。

我已经尝试了很多包装,但我无法使这个错误消失

cypress cypress-cucumber-预处理器

评论


答:

2赞 badeball 11/2/2023 #1

从 的 函数参数中删除关键字。asyncGiven(..)

评论

0赞 Arthur 11/2/2023
谢谢!做到了。我如此专注于包装所有内容,我什至没有想到它警告我的功能是给定块insertTxEvents