UseMiddleware
- это расширение, которое нельзя смоделировать, вы должны смоделировать то, что расширение вызывает в интерфейсе. В этом случае этот метод, вероятно, будет
IApplicationBuilder Use(Func<RequestDelegate, RequestDelegate> middleware);
Source
. Мне нужно было бы узнать больше о JsonResponseMiddleware
как расширении UseMiddleware
, и о расширениях, которые он тоже вызывает, имеет довольно много времени, некоторые из них связаны с интерфейсами, которые реализует JsonResponseMiddleware
. Для справки, UseMiddleware
расширения можно найти здесь .
Имея под рукой информацию, после вызова вашего расширения UseJsonResponse
следующее подтвердит, что Use
был вызван один раз.
[Test]
public void Test1()
{
var applicationBuilderMock = new Mock<IApplicationBuilder>();
var mockedApplicationBuilder = applicationBuilderMock.Object;
mockedApplicationBuilder.UseJsonResponse();
applicationBuilderMock.Verify(x => x.Use(It.IsAny<Func<RequestDelegate, RequestDelegate>>()), Times.Once);
}
Чтобы продолжить, мне нужно знать больше о JsonResponseMiddleware
как уже упоминалось. Похоже, что нужно приложить гораздо больше усилий, чтобы включить проверку типа JsonResponseMiddleware
.