невозможно импортировать избыточный магазин в тестовом файле webdriverio - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь импортировать свое хранилище с избыточностью, чтобы убедиться, что к хранилищу обращаются и устанавливают его правильно, но попытка импортировать хранилище с избыточностью дает мне следующую ошибку:

 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);
    });
}

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Как уже упоминалось в руководстве по установке на веб-сайте redux

Обратите внимание, что в отличие от самого Redux, многие пакеты в экосистеме Redux не предоставлять сборки UMD, поэтому мы рекомендуем использовать модуль CommonJS Пакеты, такие как Webpack и Browserify для самых удобных опыт разработки.

Выполнение следующих действий при использовании одного редукса в узле без реакции решит проблему

import { createStore, applyMiddleware } from 'redux';

будет

const { createStore, applyMiddleware } = require('redux');
0 голосов
/ 28 августа 2018

Вы не можете открыть магазин редуксов с помощью webdriverio, webdriverio ничего не знает о вашем коде, он открывает браузер и переходит на страницы.

Для того, чтобы проверить ваш магазин редуксов, вам нужно использовать юнит-тесты, что-то вроде шутки. То, что вы делаете сейчас, это больше функциональных тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...