ajax関数によって更新された後、選択にオプションがあるかどうかを確認する方法。私のselectコンポーネントは以下のようなものです
class Select extends React.component(){
constructor(){
super()
this.state.item=[]
}
componentWillMount(){
axios.get(list)
.then(function (response) {
this.setState({item:response.data})
// reponse data ['america','singapore','vietnam']
})
}
render(){
return(
<select>
this.state.item.map((i) => {
<option value="i">i</option>
})
</select>
)
}
}
これが私の試みです:
import {expect} from 'chai'
import {shallow} from 'enzyme'
import sinon from 'sinon'
import Select from 'Select'
describe('select list', () => {
it('should have options', () => {
const wrapper = shallow(<Select />)
wrapper.update()
const actual = wrapper.find('option').length
expect(actual).to.not.equal(0)
})
})
これの何が問題なのかというと、var actual = 0 を取得したことです。これは 3 であると想定されます。したがって、axios で何かが足りないと思います。仕様に何を追加する必要がありますか?