Тестовый пример Реагирует с Node js - PullRequest
0 голосов
/ 20 сентября 2019

Мой сайт использует реаги и узел.Для этого я создал контрольный пример с использованием фермента на стороне реакции, а с сервера я использую Mocha.Оба работают правильно, когда я использую терминальную команду (тест npm), она показывает ошибку и результат успеха.Но я хочу сделать тестовый пример из интерфейса.

В основном я хочу создать резервную копию (nodejs) функции, выполняемой одной командой. Теперь мой тестовый пример работает на другом терминале. Например, для реакции я открыт в одном терминале, а для тестового примера на стороне узла я выбрал другой терминал.

это код стороны моего узла: -

const request = require('supertest');
const expect = require('chai').expect;
const req = 'http://localhost:3000';
 this.user_id = '';

describe('Register form', function() {
    it('User saved successfully in database', function(done) {
        request(req)
           .post('/users/register')
           .set('Accept', 'application/json')
           .set('Content-Type', 'application/json')
           .send({user:{disabled: false,
                    email: "dineshsharma.developer@gmail.com",
                    firstName: "test",
                    lastName: "test",
                    password: "24234234ds",
                    roles: "hr",
                    status: "verified"}})
           .expect(200)
           .expect('Content-Type', /json/)
           .expect(function(response) {
           })
           .end(done);
    }); 
});

и код стороны реакции: -

import React from 'react';
import { Link } from 'react-router-dom';
import { connect } from 'react-redux';
import Select from 'react-select'
import config from 'config';
import { Alert } from 'reactstrap';
import { userActions } from '../../../src/actions';

import Enzyme, {shallow,mount,render,unmount} from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import RegisterPage from '../../../src/features/RegisterPage/RegisterPage';
import { MemoryRouter } from 'react-router-dom';

Enzyme.configure({adapter: new Adapter()});

describe('In register page check react syntex', () => {
  it('Should RegisterPage shallow correctly in "debug" mode', () => {
    const component = (<RegisterPage debug />);
    expect(component).toMatchSnapshot();
  });
}); 

describe('On register page count input filed', () => {
     it('Total text filed', () => {
      expect(shallow(<RegisterPage />).find('input[type="text"]').length).toEqual(2)
     })
    it('Total email filed', () => {
      expect(shallow(<RegisterPage />).find('input[type="email"]').length).toEqual(1)
     })
    it('Total checkbox filed', () => {
      expect(shallow(<RegisterPage />).find('input[type="checkbox"]').length).toEqual(1)
     })
    it('Total radio filed', () => {
      expect(shallow(<RegisterPage />).find('input[type="radio"]').length).toEqual(2)
     })
}); 


describe('On Register page check firstname , lastname or email address vaildation', () => {  
  it('Check first name in registerpage ', () => {
   const wrapper = mount(<RegisterPage />);
   wrapper.find('input[name="firstName"]').simulate('change', {target: {name: 'firstName', value: 'dinesh'}}); 
   expect(wrapper.state().user.firstName).toEqual('dinesh');    
  })

  it('Check lastname in register page ', () => {
   const wrapper = mount(<RegisterPage />);
   wrapper.find('input[name="lastName"]').simulate('change', {target: {name: 'lastName', value: 'Sharma'}});
   expect(wrapper.state().user.lastName).toEqual('Sharma');   
  })

  it('Check email address in register page', () => {
  const wrapper = mount(<RegisterPage />);
  wrapper.find('input[name="email"]').simulate('change', {target: {name: 'email', value: 'dineshsharma.developer@gmail.com'}});
  expect(wrapper.state().user.email).toEqual('dineshsharma.developer@gmail.com');   
  })

})

1 Ответ

1 голос
/ 20 сентября 2019

Если вы хотите запустить фронт-энд и бэк-тест вместе в одном терминале, вы можете изменить раздел скриптов package.json, чтобы он выглядел примерно так:

{
    "scripts": {
        "test": "mocha <path to node test files> && jest <path to react test files>"
    }
}

Каждый раз, когда вы запускаете npm test обабудут запущены наборы тестов.

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