Usando o .Net Core 2 e o Moq, como você configura um Contexto HTTP para autenticação falsa?

Estou usando o Moq para fazer testes automatizados no meu aplicativo .net core 2. Usamos autenticação de portador e precisamos poder extrair o nome do objeto HttpContext para garantir que tenhamos o usuário certo:

var userName = HttpContext.User.Identity.Name;

Eu encontrei vários exemplos usando o System.Web, mas nenhum que me permita fazer a maquete de uma instalação do Core 2.

questionAnswers(2)

yourAnswerToTheQuestion