나는 현재 다음과 같은 방법이 있습니다이 작은 방법으로 어떤 테스트를해야합니까?
public void SetNewRandomValue() {
double newValue = numberGenerator.GenerateDouble(
genesValuesInterval.MinimumValue,
genesValuesInterval.MaximumValue
);
this.value = newValue;
}
은 무엇 (테스트하는 등) 얼마나 많은 테스트를 결정하는 가이드 라인을해야한다이 방법으로 만들 수 있습니까? 나는 현재 다음과 같은 작업을 수행했다. (즉, 테스트 우선이 아닌 메소드를 구현 한 후에 만) :
var interval = new Interval(-10, 10);
var numberGeneratorMock = new Mock<INumberGenerator>(MockBehavior.Strict);
var numberGenerator = numberGeneratorMock.Object;
double expectedValue = 5.0;
numberGeneratorMock.Setup(ng =>
ng.GenerateDouble(interval.MinimumValue, interval.MaximumValue))
.Returns(expectedValue);
var gene = new Gene(numberGenerator, 0, new Interval(-10, 10));
gene.SetNewRandomValue();
Assert.AreEqual<double>(expectedValue, gene.Value);
기본적으로 하나의 상황 만 테스트한다. 회귀 - 시험 적으로 나는 코드를 엉망으로 만드는 방법을 생각할 수 없다고 말하고 싶다. 코드를 제대로 작동하지 않는 코드로 바꾸고 여전히 테스트 패스를 가지고있다.
여기에 대한 의견은 무엇입니까? 이 작은 방법을 어떻게 처리할까요? 코드 커버리지 테스팅 프레임 워크를 사용할 수있는 경우
감사
나는 이것이 단위 테스트의 신이 아니기 때문에 이것을 해결책으로 게시하는 것이 불안합니다. 그러나 숫자 생성기를 충분히 테스트하고 genesValues에서 최소/최대 검색을 수행했다면 그만 둘 것입니다. 만약 당신이 그 일을 안다면, 당신이 테스트하는 것은 this.value가 설정된다는 것입니다. –
'Gene' 생성자의 두 번째 매개 변수는 무엇입니까? –