테스트 용으로 Sinon
Enzyme
을 사용하고 있습니다. 개체 배열을 가져 와서 새로운 배열로 변환하는 함수가 있습니다.Sinon : 테스트 함수 반환 값
getContainersByHostId(data) {
return _.chain(data)
.groupBy('hostId')
.toPairs()
.map(currentItem => _.zipObject(['hostId', 'containers'], currentItem))
.value();
}
인수 :
const containers = [{
id: 'c_01',
hostId: 'h_01',
hostIp: '192.168.1.0',
name: 'Some Container'
}];
결과 :
[{hostId: 'h_01',
containers: [{
hostId: 'h_01',
ip: '192.168.1.0',
id: 'c_01',
name: 'Some Container'
}]}];
이 잘 작동합니다. 그러나 내가 직면 한 문제는 단위 테스트에 있습니다. 그래서 저는 현재 이것을 가지고 있습니다.
const containers = [{
id: 'c_01',
hostId: 'h_01',
hostIp: '192.168.1.0',
name: 'Indigo Container'
}];
const wrapper = shallow(<Groups {...props} />);
const instance = wrapper.instance();
sandbox.stub(instance, 'getContainersByHostId');
instance.getContainersByHostId(containers);
expect(instance.getContainersByHostId.calledWith(containers)).to.equal(true);
});
args가 새 배열과 동일한 지 테스트하는 방법은 무엇입니까?
업데이트 : returnValue
을 시도했지만 그것은 거짓 저를주고 내가 정말 돌아 있는지 확인하기 위해 가능한 모든 해결책을 찾을 수 없습니다
.
정확히 명시 하시겠습니까? 입력 2 개, 예상 출력 2 번째 배열을 가져야합니다. 그래서 당신은 단지 그 입력을 가진'getContainersByHostId' 호출이 예상 된 결과를 리턴해야한다고 단언합니다. 이것이 당신이 성취하고자하는 것입니까? –
그게 바로 제가 주장하고자하는 것입니다. 하지만 출력 배열에 대해 선언하면 정의되지 않습니다. 당신이 어쩌면 그것을 성취 할 수있는 예를 쓸 수 있습니까? 어쩌면 내가 뭔가 잘못하고있는 것 같아. 내 질문도 편집하겠습니다. – Umair
@LazarevAlexandr – Umair