我正在尝试导入我的redux存储,以便确保可以正确访问该存储并对其进行设置,但是尝试导入redux存储会给我以下错误:
ERROR: Unexpected token import
firefox
/Users/Name/Desktop/project/internal-dashboard/dashboard/src/store.js:1
(function (exports, require, module, __filename, __dirname) { import rootReducer from './reducers/rootReducer';
^^^^^^
Syntax at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:607:28)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Module.require (module.js:587:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/Name/Desktop/project/internal-dashboard/dashboard/test/login.js:2:15)
不确定为什么会告诉我这是一个意外令牌。启动该应用程序后,该应用程序可以正常运行,为什么运行webdriverio测试时,为什么存储文件中使用的导入令牌存在问题?
这是商店文件:
import rootReducer from './reducers/rootReducer';
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import { composeWithDevTools } from 'redux-devtools-extension';
const store = createStore(
rootReducer,
composeWithDevTools(applyMiddleware(thunk))
);
export default store;
这是我的登录测试
let assert = require('assert');
import store from '../src/store';
describe("Login Page", () => {
console.log(store.getState());
it('should tell user to enter a username', () => {
browser.url('./');
let loginHeader = $('p=SIGN IN');
loginHeader.waitForExist(20000);
browser.setValue('#username', '');
browser.setValue('#password', '');
browser.click('.ui.button');
let enterUsernameDiv = $('div=Please enter a username');
enterUsernameDiv.waitForExist(10000);
});
}
答案 0 :(得分:0)
您无法使用webdriverio真正打开redux存储,webdriverio不了解您的代码,它会打开浏览器并导航到页面。
为了检查您的redux存储,您需要使用单元测试,例如jest。您现在正在做的更多是功能测试。
答案 1 :(得分:0)
如redux website上的安装指南中所述
请注意,与Redux本身不同,Redux生态系统中的许多软件包 不提供UMD版本,因此我们建议使用CommonJS模块 像Webpack和Browserify这样的打包机最舒适 开发经验。
在没有反应的节点上单独使用redux时执行以下操作将解决问题
import { createStore, applyMiddleware } from 'redux';
成为
const { createStore, applyMiddleware } = require('redux');