나는 클래스 B
의 인스턴스가있는 클래스 A
있고, foo
A
의 호출 B
의 상태를 업데이트 B
의 set
기능을 작동합니다. (모의 객체와 스텁과 무엇을 사용하지 않는) B
의 구현에 A
비 의존성에 대한 테스트를 유지하면서무언가의 상태를 변경하기 위해 다른 클래스에 의존하는 클래스를 단위 테스트하려면 어떻게합니까?
A = function() {
this.init = function (b) {
this.b = b
}
this.foo = function (val) {
this.b.set(val)
}
this.bar = function() {
return this.b.get()
}
}
B = function() {
this.set = function (val) {
this.v = val
}
this.get = function() {
return this.v
}
}
방법, 내가 단위 테스트 foo
기능을 수행 여기에 (자바 스크립트에서) 코드 예입니다 ?
"작은 기능 질투는" –
이 테스트는 TDD에 대한 나쁜 구현에 따라 의미하지 않는다 "냄새"해야 하는가? 'foo'의 구현이 변경되어'B'의'set'을 사용하지 않으면 어떻게 될까요? – Chetan
요청은 모의 B로 테스트하는 것이 었습니다. A의 외부 동작이 B에 어떤 영향을 미치지 않으면 B를 모의하지 않았습니다 (B가 외부 라이브러리 인 경우). 냄새에 관한주의 사항은 이러한 유형의 행동 (A)이 문제가 될 수 있다는 것입니다 –