Vri*_*ank 5 javascript sqlite android jest react-native
我正在使用react-native init来创建一个react-native项目.我使用https://github.com/andpor/react-native-sqlite-storage库进行SQLite绑定.
我有一个DbConnector.jest-test.js单元测试文件.内容是
import DbConnector from '../app/components/DbConnector.js';
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';
it('renders correctly', () => {
const tree = renderer.create(
<DbConnector />
);
});
Run Code Online (Sandbox Code Playgroud)
当我运行jest时,即使默认情况下node_modules被忽略,我也会收到跟踪错误.我在package.json中使用react-native预设
Test suite failed to run
ReferenceError: window is not defined
at Object.<anonymous> (node_modules/react-native-sqlite-storage/lib/sqlite.core.js:53:10)
at Object.<anonymous> (node_modules/react-native-sqlite-storage/sqlite.js:10:12)
at Object.<anonymous> (app/components/DbConnector.js:3:31)
Test Suites: 1 failed, 1 total
Run Code Online (Sandbox Code Playgroud)
DbConnector.js中的导入如下:
import React, { Component } from 'react'
import { AppRegistry, StyleSheet, Text, View, TextInput, Button, Alert,
AsyncStorage } from 'react-native'
import SQLite from 'react-native-sqlite-storage'
Run Code Online (Sandbox Code Playgroud)
看起来您的问题window is not defined来自这一行:https://github.com/andpor/react-native-sqlite-storage/blob/master/lib/sqlite.core.js#L53
您的测试似乎缺少导入react-native,应该如下所示:
import 'react-native';
import renderer from 'react-test-renderer';
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,您也许可以按照JSDOM 本指南中的这些步骤进行使用(该指南来自 Enzyme,但可能仍然有帮助!)
| 归档时间: |
|
| 查看次数: |
634 次 |
| 最近记录: |