2016-09-02 4 views
-4

Привет Пожалуйста, дайте мне знать, как написать тестовый пример модуля moq для метода ниже. Любая помощь будет оценена. Спасибо заранее.Moq тестирование методов пустоты без параметров

public void ConstructAddMappingQuery(IAnnotationMapping annotationMappings, 
            out string commandText, 
            out Dictionary<string, dynamic> parameters) 
{ 
    commandText [email protected]"Insert Into AnnotationMapping Values 
       (@AnnotationSetupId, @WordToAnnotate, 
        @Annotation, @CreatedDttm, @CreatedUserId, @ModifiedDate, 
        @ModifiedUserId, @IsActive)"; 

    parameters = new Dictionary<string, dynamic>(); 
    parameters.Add("@WordToAnnotate", annotationMappings.WordToAnnotate); 
    parameters.Add("@Annotation", annotationMappings.Annotation); 
    parameters.Add("@ModifiedDate", annotationMappings.ModifiedDate); 
    parameters.Add("@ModifiedUserId", annotationMappings.ModifiedUserId); 
    parameters.Add("@AnnotationSetupId", annotationMappings.AnnotationSetupId); 
    parameters.Add("@CreatedDttm", annotationMappings.CreatedDttm); 
    parameters.Add("@CreatedUserId", annotationMappings.CreatedUserId); 
    parameters.Add("@IsActive", 1); 
} 

Ищет весь метод, а не заглушки. Приветствую вас !!!!!!!!!!!!

+1

Пожалуйста, измените свой вопрос первым, проверить это: http://stackoverflow.com/help/formatting – neohope

+0

ли эта работа для вас: http://stackoverflow.com/a/3135677? – user3185569

+2

Пожалуйста, отредактируйте ваше сообщение, чтобы уточнить, какую конкретную помощь вы и что хотите проверить. В текущем состоянии это следующий уровень запроса «написать код для меня» (обычно такой запрос имеет хотя бы информацию о том, что должно быть сделано ...) –

ответ

0

Предполагая, что класс как

public class AnnotationMappingQueryBuilder { 
    public void ConstructAddMappingQuery(IAnnotationMapping annotationMappings, 
           out string commandText, 
           out Dictionary<string, dynamic> parameters) { 
     commandText = @"Insert Into AnnotationMapping Values 
      (@AnnotationSetupId, @WordToAnnotate, 
       @Annotation, @CreatedDttm, @CreatedUserId, @ModifiedDate, 
       @ModifiedUserId, @IsActive)"; 

     parameters = new Dictionary<string, dynamic>(); 
     parameters.Add("@WordToAnnotate", annotationMappings.WordToAnnotate); 
     parameters.Add("@Annotation", annotationMappings.Annotation); 
     parameters.Add("@ModifiedDate", annotationMappings.ModifiedDate); 
     parameters.Add("@ModifiedUserId", annotationMappings.ModifiedUserId); 
     parameters.Add("@AnnotationSetupId", annotationMappings.AnnotationSetupId); 
     parameters.Add("@CreatedDttm", annotationMappings.CreatedDttm); 
     parameters.Add("@CreatedUserId", annotationMappings.CreatedUserId); 
     parameters.Add("@IsActive", 1); 
    } 
} 

Вам нужно только Moq для интерфейса. Тест может выглядеть так.

[TestClass] 
public class UnitTest1 { 
    [TestMethod] 
    public void TestMethod1() { 

     //Arrange 
     var mock = Mock.Of<IAnnotationMapping>(); 

     var expectedCommandText = @"Insert Into AnnotationMapping Values 
      (@AnnotationSetupId, @WordToAnnotate, 
       @Annotation, @CreatedDttm, @CreatedUserId, @ModifiedDate, 
       @ModifiedUserId, @IsActive)"; 
     string commandText = null; 
     Dictionary<string, dynamic> parameters = null; 
     int expectedParameterCount = 8; 
     var sut = new AnnotationMappingQueryBuilder(); 

     //Act 
     sut.ConstructAddMappingQuery(mock, out commandText, out parameters); 

     //Assert 
     Assert.IsNotNull(commandText); 
     Assert.AreEqual(expectedCommandText, commandText); 

     Assert.IsNotNull(parameters); 
     Assert.AreEqual(expectedParameterCount, parameters.Count); 
     ///what ever else you want to assert for parameters 
    } 
} 
Смежные вопросы