So führen Sie einen Unit-Test mit ILogger in ASP.NET Core durchC#

Ein Treffpunkt für C#-Programmierer
Guest
 So führen Sie einen Unit-Test mit ILogger in ASP.NET Core durch

Post by Guest »

Das ist mein Controller:

Code: Select all

public class BlogController : Controller
{
private IDAO _blogDAO;
private readonly ILogger _logger;

public BlogController(ILogger logger, IDAO blogDAO)
{
this._blogDAO = blogDAO;
this._logger = logger;
}
public IActionResult Index()
{
var blogs = this._blogDAO.GetMany();
this._logger.LogInformation("Index page say hello", new object[0]);
return View(blogs);
}
}
< /code>

Wie Sie sehen, habe ich 2 Abhängigkeiten, einen IDAO < /code> und einen Iloogger < /code> < /p>

und dies ist meine Testklasse. Ich verwende Xunit zum Testen und MOQ, um Schein und Stub zu erstellen. Ich kann Dao 
einfach verspotten, aber mit dem Iloogger weiß ich nicht, was ich tun soll, ich bin ich Geben Sie einfach NULL weiter und kommentieren Sie den Anruf zum Anmeldung im Controller beim Ausführen von Test. Gibt es eine Möglichkeit zu testen, aber den Logger trotzdem irgendwie zu behalten? < /P>

Code: Select all

public class BlogControllerTest
{
[Fact]
public void Index_ReturnAViewResult_WithAListOfBlog()
{
var mockRepo = new Mock();
mockRepo.Setup(repo => repo.GetMany(null)).Returns(GetListBlog());
var controller = new BlogController(null,mockRepo.Object);

var result = controller.Index();

var viewResult = Assert.IsType(result);
var model = Assert.IsAssignableFrom(viewResult.ViewData.Model);
Assert.Equal(2, model.Count());
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post