React Native Jest语法错误:未终止的正则表达式

时间:2019-05-13 09:05:22

标签: reactjs react-native jestjs babel-jest

在为我正在编写的Todo演示运行简单测试时,我遇到了这个奇怪的语法错误。我已将代码添加到同一文件中并进行测试,以便您了解发生了什么。

任何帮助将不胜感激。

import { Text } from 'react-native';
import React from 'react';
import { shallow } from 'enzyme';

const TodoItem = () => {
  return(
    <Text>{Hello}</Text>
  );
};

export default TodoItem;

describe('<TodoItem', () => {
  it('should update uncompleted task to complete when pressed', () => {
    const wrapper = shallow(<TodoItem />)
  });
});

测试结果

运行:jest

 FAIL  __tests__/components/TodoItem.spec.tsx
  ● Test suite failed to run

    SyntaxError: /Users/jonesagyemang/Projects/side/Todoist/__tests__/components/TodoItem.spec.tsx: Unterminated regular expression (7:19)

       5 | const TodoItem = () => {
       6 |   return(
    >  7 |     <Text>{Hello}</Text>
         |                    ^
       8 |   );
       9 | };
      10 |

      at Object.raise (../../../../../usr/local/lib/node_modules/jest/node_modules/@babel/parser/lib/index.js:6322:17)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.2s
Ran all test suites related to changed files.

Watch Usage: Press w to show more.

1 个答案:

答案 0 :(得分:0)

我假设这是您要使用Text组件显示的文本。尝试删除Hello的{},因为它不是代码中的变量或函数。

const TodoItem = () => {
  return(
    <Text>Hello</Text>
  );
};