나는 FluentValidation을 잘못된 방법으로 사용할 것이라고 확신하고 있으며 주위를 둘러 보았지만 올바른 용어를 사용하지는 못했습니다. 어떤 도움을 주셔서 감사합니다.FluentValidation을 사용하여 조롱 된 함수 결과를 확인 하시겠습니까?
그래서, 라이브러리를 사용하고, 그것은 파일 시스템을 다루고 있기 때문에, 나는 그것을 조롱하고있어 (내가 이렇게 빨리 할 수 있도록이 인터페이스를 가지고 감사!)
나 '개체를 Excel 워크 시트를 대표하는 모의 시도는 기본적으로 "IsEmpty (boolean aBooleanToSet)"라고하는 메소드를 가지고 있습니다.
내가의 라인을 따라 MOQ와이를 작성할 수 있습니다
mockWorkbook.Setup(m => m.IsEmpty(It.IsAny<bool>())).Returns(true);
내 Validator 클래스는 매우 간단하며 다음과 같습니다 : 나는, xUnit의를 다음의 시험에 사용했다
public class InvoiceDetailsWorksheetValidator : AbstractValidator<IXLWorksheet>
{
public InvoiceDetailsWorksheetValidator()
{
RuleFor(x => x.IsEmpty())
.NotEqual(true).WithMessage("Worksheet must not be empty.");
}
}
.net :
[Fact]
public void Validate_WithFirstWorksheetEmpty_ReturnsInvalid()
{
// Get the otherwise valid worksheet
var mockWorkbook = TestHelper.GetMockValidInvoiceDetailsWorksheet();
// Set the one specific value to a mocked failure
mockWorkbook.Setup(m => m.IsEmpty(It.IsAny<bool>())).Returns(true);
// Pass the mock object to the validator
var validationResults = new InvoiceDetailsWorksheetValidator().Validate(mockWorkbook.Object);
// Assert that the validator finds it invalid
Assert.False(validationResults.IsValid);
}
테스트를 통과했을 때 테스트를 통과했을 때 다음 오류가 발생했습니다. fr 톰 FluentValidation :
System.InvalidOperationException
속성 이름이 자동으로 표현 판별 할 수 없습니다 X => x.IsEmpty().
'WithName'을 (를) 호출하여 사용자 지정 속성 이름을 지정하십시오.
내가 뭘 잘못하고 있니?