2010-12-02 4 views
0

저는 조롱을 위해 Moles Framework와 협력하고 있습니다. 저는 인수가없는 생성자가없는 객체를 사용하여로드 블록을 실행하고 있습니다. 문제의 객체를 만들 때 객체 속성을 설정하기 위해 데이터베이스 호출을 시작하는 ID를 제공해야합니다. 그 말은 Moles를 통한 더 많은 차단을 의미합니다. 개체에 간단한 생성자가 있으면 테스트가 훨씬 원활 해집니다.은 테스트를위한 최상의 방법으로 간주되는 기본 생성자를 제공하고 있습니까?

테스트를 위해 기본 생성자를 제공하는 것이 중요하다는 것을 알고있었습니다. 내가 회상을 확인하기 위해 Google에 갔을 때 대답을 찾을 수 없었습니다.

인자없는 생성자 제공 : 테스트에 유용하거나 중요합니까? 부적절한가요?

답변

1

어쨌든 당신의 객체 생성자에서 그런 종류의 일을해서는 안된다고 생각합니다. 여러분의 테스트를 당신의 데이터베이스에 너무 가깝게 사용하기 때문에. Ninject과 같은 의존성 주입 프레임 워크는 여기에 엄청난 도움이 될 것입니다. 기본 생성자가 없지만 약간의 설정 만하면 테스트 객체를 만들 때 필요한 모든 것을 Ninject가 함께 붙이게됩니다.

나는 Ninject (및 Moq 사용) 만 가지고 시작 했으므로 막대한 양의 경험이 없지만 테스트에 사용 된 기본 생성자가 필요하지 않습니다. 또한 좀 더 많은 것을 분류하고 외부 테스트와는 독립적으로 테스트를 수행하는 데 도움이됩니다.

나는 그것이 언어 독립적 인 질문이므로 Ninject가 당신에게 적합하지 않을 수도 있지만 그것이 단위 테스트에 대한 일반적인 견해입니다.

관련 문제