당신 수 단위 테스트 객체, 그러나 그것을 필요로하지 않는 것처럼 그렇게 간단하다 : 그 테스트 것입니다. 당신은 .NET 프레임 워크의 특성이 올바르게 작동하는지 테스트로 테스트는, 그러나, 같은 (NUnit과 예)
[Test]
public void TestRuleViolationConstructorWithErrorMessageParameterSetsErrorMessageProperty() {
// Arrange
var errorMessage = "An error message";
// Act
var ruleViolation = new RuleViolation(errorMessage);
// Assert
Assert.AreEqual(errorMessage, ruleViolation.ErrorMessage);
}
이와 같은 테스트를 작성 거의 가치가있어이 될 것입니다. 일반적으로 Microsoft는 다음과 같은 권리가 있다고 믿을 수 있습니다.
조롱과 관련하여 테스트중인 클래스가 종속성을 가지고 있거나, 아마도 자신의 응용 프로그램에있는 다른 클래스 또는 프레임 워크의 형식에 종속되어있을 때 유용합니다. Mocking 프레임 워크를 사용하면 코드에서 종속성을 구체적으로 작성하는 번거 로움없이 종속성에 대한 메서드 및 속성을 호출 할 수 있으며 대신 속성에 대한 정의 된 값, 메서드에 대한 반환 값 등을 삽입 할 수 있습니다. Moq은 훌륭한 프레임 워크이며
[Test]
public void TestCalculateReturnsBasicRateTaxForMiddleIncome() {
// Arrange
// TaxPolicy is a dependency that we need to manipulate.
var policy = new Mock<TaxPolicy>();
bar.Setup(x => x.BasicRate.Returns(0.22d));
var taxCalculator = new TaxCalculator();
// Act
// Calculate takes a TaxPolicy and an annual income.
var result = taxCalculator.Calculate(policy.Object, 25000);
// Assert
// Basic Rate tax is 22%, which is 5500 of 25000.
Assert.AreEqual(5500, result);
}
TaxPolicy
가 제대로 작동하는지 확인하기 위해 자신의 고정 테스트 단위 것 : 의존성을 가진 기본 클래스에 대한 테스트는 다음과 같이 보일 것입니다. 여기서는 TaxCalculator
이 올바르게 작동하는지 테스트하기를 원하므로 TaxPolicy
객체를 조롱하여 테스트를 더 간단하게 만듭니다. 그래서 우리는 관심이있는 TaxPolicy
비트의 동작을 지정할 수 있습니다. 그것이 없으면 우리는 핸드 롤 모크/스텁/가짜를 만들거나 TaxPolicy
의 실제 인스턴스를 만들어 전달해야 할 것입니다.
그러나 이것보다 Moq에 더 많은 것이 있습니다. quick-start tutorial을 확인하여 더 많은 정보를 확인하십시오.
는 세터 개인 있는지 확인 할 방법에 대한 내 업데이 트를 참조하십시오. – kemiller2002