2015-01-26 8 views
1

저는 JUnit을 처음 접했을 때이 점이 다소 명백해 보일지 모르지만 저는 이것에 대해 솔직한 대답을 찾을 수 없습니다. 더 나은 문구를 원한다면 다른 객체와 함께 사용하기 위해 다른 유형의 변수를 보유하기 위해서만 존재한다는 점에서 "Cargo"클래스입니다 (특히이 클래스는 스타일 및 서식 지정 테이블의 매개 변수를 포함하는 데 사용됩니다 세포).JUnit : 테스트중인 클래스의 클래스를 setUp()에서 초기화해야합니까?

주로 getter와 setter로 구성되어 있으며, 일부는이 클래스를 테스트 할 가치가 없을 수도 있다고 말하면서 더 복잡한 클래스로 이동하기 전에 연습용으로 사용하고 있습니다.

클래스 자체에는 매개 변수 생성자가없고 객체의 모든 인스턴스 변수가 전달되어야합니다. 테스트를 만들 때 리치 미디어를 사용해야합니까 (아니면 사용하는 것이 가장 좋을까요?) 생성자가 setUp() 메서드에서 생성자가 호출되거나 생성자가 호출되지 않으면 getters 및 setter에 대한 테스트를 수행 하시겠습니까?

+0

동작이없는 클래스에서 정확히 무엇을 테스트하고 있습니까? –

+0

글쎄, JUnit 문법을 배우는 부분이 있다고 가정하고, getter를 테스트하는 부분이 멤버에게 설정 한 값을 반환합니까? – jbailie1991

답변

1

setter/getter에서 그 구성원에게 아무 것도 수행되지 않으면 오히려 무의미하지만 운동으로 볼 수 있다고 가정합니다.

둘 모두에 대한 테스트를 수행 할 수 있습니다. 멤버가 5 명인 경우 6 가지 테스트를 작성합니다. 인수가없는 생성자를 사용하는 5 가지 테스트와 각각 단일 setter 및 getter를 사용합니다. 다른 테스트는 args 생성자를 가지며 모든 getter에 대해 어설 션을 수행합니다.

하나의 테스트에 몇 개의 어설 션이 있어야하는지에 대한 설명이 있습니다. 일반적으로 테스트를 최소화하려고 시도하지만, 모든 게터에서 5 개의 어설 션으로 단일 테스트를 수행하는 것이 적절하다고 생각합니다. 한 문장에서 "이 모든 값을 삽입하십시오"라고 말합니다.

일부 사람들은 이것이 10 개의 테스트에서 분리되어야한다고 주장 할 것입니다. 5 개는 인수가없는 ctor + get/setter로, 5 개는 argd ctor로 매번 단일 게터로 분리해야합니다. 시험하려는 게터를 분명히하십시오.

엄격한 지침이 없으므로 직접 결정해야합니다.