2016-11-15 8 views
1

現在、私は、角ページのための分度器でngMockE2eとhttpbackendモックを使用しています。代替アプリケーションのhttp-backend-mockとngE2eの代わりに

私たちは開発のために反応を使用することを考えています.HTML呼び出しのエンドツーエンドテストのためのものを嘲笑するために使用できる方法はありますか?

答えて

1

chaiとchai-httpを使用できます。

'use strict'; 
 

 
import React from 'react'; 
 
import {Provider} from 'react-redux'; 
 
import {mount} from 'enzyme'; 
 
import {expect} from 'chai'; 
 
import configureMockStore from 'redux-mock-store'; 
 

 
import AppCtrl from '../ui-src/components/app.ctrl'; 
 

 
const mockStore = configureMockStore(); 
 

 
describe('mount(<AppCtrl />)',() => { 
 
    let store = mockStore({data1: {}}); 
 
    const wrapper = mount(
 
    <Provider store={store}> 
 
     <AppCtrl /> 
 
    </Provider> 
 
); 
 
    expect(wrapper.find(AppCtrl).length).to.equal(1); 
 
    const container = wrapper.find(AppCtrl); 
 
    it('checks div count',() => { 
 
    expect(container.find('div').length).to.equal(4); 
 
    }); 
 
    it('checks br count',() => { 
 
    expect(container.find('br').length).to.equal(6); 
 
    }); 
 
    it('checks props.Data1',() => { 
 
    expect(container.props('Data1')).to.be.empty; 
 
    }); 
 
    it('checks text contains',() => { 
 
    expect(container.text()).to.contain('React Version'); 
 
    }); 
 
});

'use strict'; 
 

 
import chai, {expect} from 'chai'; 
 
import chaiHttp from 'chai-http'; 
 
// import sinon from 'sinon'; 
 

 
chai.use(chaiHttp); 
 

 
describe('server test with chai-http',() => { 
 
    it('checks get /',() => { 
 
    chai.request('../js/server').get('/') 
 
     .end(function (err, res) { 
 
     expect(err).to.be.null; 
 
     expect(res).to.have.status(200); 
 
     }); 
 
    }); 
 
    it('checks get /routes/getData',() => { 
 
    chai.request('../js/server').get('/routes/getData') 
 
     .end(function (err, res) { 
 
     expect(err).to.be.null; 
 
     expect(res).to.have.status(200); 
 
     expect(res).to.have.header('content-type', 'application/json; charset=utf-8'); 
 
     expect(res).to.have.header('content-length', '93'); 
 
     expect(res).to.be.json; 
 
     console.log('res: ', res.headers); 
 
     }); 
 
    }); 
 
});

+0

これは、バックエンドのAPIをテストするためです。しかし、私はAPI呼び出しを嘲笑してUIアプリケーションをテストするものを探しています。角に使われたngMocke2eとhttpbackend mockに似たもの。 – Dinesh

関連する問題