Javascript 自定义初始化函数未在TestCafe中执行

Javascript 自定义初始化函数未在TestCafe中执行,javascript,typescript,testing,automated-tests,testcafe,Javascript,Typescript,Testing,Automated Tests,Testcafe,我正在创建一个初始化函数来准备我在TestCafe中进行的几乎所有测试。但是当运行代码时,它不会被触发 我试过: -在没有函数的情况下执行testdriver:Works -将其包装在没有if语句的函数中:有效 -使用if语句将其包装到函数中:不起作用 -将if语句包装在较小的函数中,并在init脚本内的自执行函数中执行它们:不起作用 export async function setupEnvironment(Method: Method, Action?: Action, Frame: nu

我正在创建一个初始化函数来准备我在TestCafe中进行的几乎所有测试。但是当运行代码时,它不会被触发

我试过:
-在没有函数的情况下执行testdriver:Works
-将其包装在没有if语句的函数中:有效
-使用if语句将其包装到函数中:不起作用
-将if语句包装在较小的函数中,并在init脚本内的自执行函数中执行它们:不起作用

export async function setupEnvironment(Method: Method, Action?: Action, Frame: number = 43, Viewport: Viewport = 1) {
    await u.selectFrame(Frame);

    if (Method === "") {
        await t.click()} 
    else if (Method === "") {
        await t.click()} 
    else if (Method === "") {
        await t.click()} 
    else if (Method === "") {
        await t.click()} 

    if (Action === "") {
        await t.click();
    } else if (Action === "") {
        await t.click();
    }
}

预期行为: 代码执行

实际行为:
什么都没发生我不知道为什么在第一种情况下什么都没发生。我认为,没有人可以给你一个答案,没有页面测试提供的功能。在第二种情况下,您忘记调用render函数。它是在setupEnvironment中定义的,但从未调用过。

谢谢您的回答,我已经让它工作了,它不工作的原因是没有后续操作。。我最好的猜测是TestCafe扫描是正手的测试用例,如果没有调用测试驱动程序,测试将自动通过,而不会进入外部函数。这不太正确。TestCafe test函数(test的第二个参数)是异步的。这意味着,如果您等待某个函数执行,测试将等待该函数完成。对于这种行为,不需要使用。我更新了Artem的答案,以显示
setupEnvironment
函数实现的可能选项。
export async function setupEnvironment(Method: Method, Action?: Action, Frame: number = 43, Viewport: Viewport = 1) {

    async function selectAction(){
        if (Action === "") {
            await t.click();
        } else if (Action === "") {
            await t.click();
        }
    }

    async function selectMethod() {
        if (Method === "") {
            await t.click()} 
        else if (Method === "") {
            await t.click()} 
        else if (Method === "") {
            await t.click()} 
        else if (Method === "") {
            await t.click()} 
    }

    (async function render(){
        selectMethod()
        await u.selectFrame(Frame);
        selectAction()
    }) 
}

test('name test case', async (t) => {
      await i.setupEnvironment(Method., Action.);
});