javascript - Testcafe 无法识别 React

标签 javascript reactjs automated-tests e2e-testing testcafe

我正在尝试运行我的第一个 testcafe 测试,但事实证明这很费力。

testcafe -e chrome client/routes/Lookup/components/testcafe/lookup-test.js

SyntaxError: client/routes/Lookup/components/Lookup.js: Unexpected token (60:8)
  58 |     if (error.status && error.status !== 404) {
  59 |       return (
> 60 |         <NetworkIssues code={error.status} />
     |         ^
  61 |       );
  62 |     }
  63 |
at Object.<anonymous> (client/routes/Lookup/components/testcafe/lookup-test.js:1:1)

查找测试.js

import Lookup from '../Lookup';
import React from 'react';
import { waitForReact } from 'testcafe-react-selectors';


fixture('Lookup Component').page('http://localhost:3000/web/lookup').beforeEach(async () => {
  await waitForReact();
});

test('foo', async (x) => {
  await x
    .typeText('customerName', '07450118811')
    .expect('customerName.value').contains('07450118811');
});

我的代码没有任何错误。它编译并运行良好,并通过了我所有的笑话和 enzyme 单元测试。但是我在网上找不到任何指导。如您所见,忽略错误标志没有用。

干杯。

最佳答案

当您启动 TestCafe 时,所有测试代码都会在执行前作为第一步进行转译。执行的是此转换过程的结果,而不是您的原始源代码,即使您的代码是纯 JavaScript 也是如此。

导入的文件client/routes/Lookup/components/Lookup.js是一个JSX文件,由于是在TestCafe代码中导入的,il会先转译成javascript再开始测试执行.

TestCafe 转译过程(在撰写本文时 - 将来可能会更改)未配置为处理 JSX 文件。

因此,您不能导入无法由 TestCafe 转译为纯 JS 的文件。

关于javascript - Testcafe 无法识别 React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51859863/

相关文章:

javascript - 如果 html 内联元素内部有 block 元素,如何使用 javascript 拆分它

Javascript表单验证onclick按钮没有错误但也不起作用

javascript - 问题将 MVC 中的模型对象获取到 jQuery 变量

javascript - 当我使用 tsconfig 文件在 ts 代码中出错时,如何强制 TypeScript 不编译为 JS?

android - 如何自动测试应用程序在其他 Activity 方面的行为是否符合预期?

javascript - 跨语言字符串转义

reactjs - 如何增加 react-native Slider 组件的高度?

javascript - ReactJS。火力基地。类型错误 : Cannot read property 'setState' of undefined

java - 无法使用 Selenium 和 Java 单击 Flipkart 主页中图像 slider 中的图像之一

java - 如何为使用 ActiveMQ Artemis 的服务编写集成测试