我正在尝试运行我的第一个 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/