2017-10-06 1 views
0

J'utilise Castle Windsor comme DI et j'utilise le reposity pour accéder et implémenter les couches de données. Comme j'ai implémenté toute la couche d'accès aux données dans mon repo, il est temps d'appeler ces méthodes dans mon contrôleur API. J'ai donc la méthode 'getAllReportsByClient' et la méthode 'CreateReport' POST. Donc, afin de tester si certaines méthodes fonctionnent sans réellement implémenter l'appel de vue et AJAX, comment puis-je insérer des données d'exemple en utilisant ma méthode «Créer un rapport»?Quelle est la meilleure façon de tester la requête HTTPPOST en transmettant le modèle?

La méthode de prise en pension est inférieure à:

public void CreateReport(TReportHeaderModel model) 

     { 

      using (var connection = new TReportEntitiesConnection()) 
      { 

       connection.THeader.Add(new THeader() 
       { 

        ClientID=model.ClientID, 
        ID=model.ID, 
        THeaderTitle=model.THeaderTitle, 
        RowNumber=model.RowNumber 

       }); 


       foreach (var d in model.TReports) 
       { 
        connection.TReport.Add(new TReport() 
        { 

         ID=d.ID, 
         TReportName=d.TReportName, 
         URL=d.URL, 
         RowNumber=d.RowNumber, 



        }); 

       } 

       connection.SaveChanges(); 


      } 



       throw new NotImplementedException(); 
     } 

Le dessous est HttpPost CreateReport appeler Controller:

[HttpPost] 
    public ActionResultModel CreateReport([FromBody] TReportHeaderModel model) 

    { 


     try 
     { 
      _tReportingService.CreateReport(model); 

      return new ActionResultModel() //return void, must not be followed by object expression 
      { 
       Success = true, 
       Message = "Report Successfully Created." 
      }; 

     } 


     catch (Exception ex) 

     { 
      return new ActionResultModel() 
      { 
       Success = false, 
       Message = "Report not created.", 
       Obj=ex.Message 

      }; 


     } 


    } 

Répondre

0

Vous pouvez utiliser Postman (https://www.getpostman.com/) ou Fiddler (www.telerik.com/ fiddler) pour émuler la requête. Mieux encore, vous pourriez écrire un test en utilisant un cadre de test.