모든 중첩 된 메서드에 대해 단위 테스트를 작성해야합니까? 아니면 호출자에 대한 하나의 테스트를 작성하는 것으로 충분합니까? 예를 들어TDD 기능 테스트
:
void Main()
{
var x = new A().AFoo();
}
public class A
{
public int AFoo()
{
// some logic
var x = new B().BFoo();
// might have some logic
return x;
}
}
public class B
{
public int BFoo()
{
// some logic
return ???;
}
}
즉 main() 메소드에 대한 단위 테스트를 작성하기에 충분하다 또는 I 홈페이지, A.AFoo(), B.BFoo() 메소드에 대한 테스트를 작성해야합니까? 얼마나 깊이 갈 수 있을까요?
미리 감사드립니다.
답장을 보내 주셔서 감사합니다. 나는 모든 것을 테스트해야하고 모든 메소드를 테스트해야한다고 동의하지만, 하나의 메소드 (Main)가 다른 메소드를 호출하고 모든 시나리오에서 Main을 테스트 한 다음, A.AFoo 클래스의 모든 시나리오를 반복하는 몇 가지 사례를 발견했습니다. B.BFoo 클래스의 동일한 시나리오 –
@vlad, 모든 클래스에는 자체 테스트가 있어야합니다. – hvgotcodes
@hvgotcodes - 나는 그걸 조금 고칠 것입니다. 모든 ''public ''유형에는 자체 테스트가 있어야합니다. – Gishu