Получить IHostingEnvironment в интеграционном тесте - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь написать интеграционный тест для следующего класса, но я застрял с получением IHostingEnvironment в моем тесте.Я предполагаю, что я должен быть в состоянии получить IHostingEnvironment от TestServer, но не игра в кости.Я что-то упустил?Является ли этот сценарий более подходящим для модульного теста, чем интеграционного теста?

Фактический класс

public class PasswordResetMessage : IMessage
    {
        private readonly PasswordReset passwordReset;
        private readonly IHostingEnvironment iHostingEnvironment;
        public PasswordResetMessage(IHostingEnvironment iHostingEnvironment, PasswordReset passwordReset)
        {
            this.passwordReset = passwordReset;
            this.iHostingEnvironment=iHostingEnvironment;
        }
        public string Get()
        {
            var stringBuilder = new StringBuilder();
            var pathToFile = Path.Combine(iHostingEnvironment.ContentRootPath, "EmailTemplates", "password_reset.txt");
            using (var streamReader = File.OpenText(pathToFile))
            {
                stringBuilder.Append(streamReader.ReadToEnd());
            }
            return stringBuilder.Replace("{{ActionURL}}", passwordReset.ActionURL).ToString();
        }
    }

Интеграционный тест:

public class PasswordResetMessageTest
    {
        private PasswordResetMessage passwordResetMessage;
        private readonly TestServer testServer;
        public PasswordResetMessageTest()
        {
            testServer = new TestServer(new WebHostBuilder().UseStartup<Startup>());
            passwordResetMessage = new PasswordResetMessage(**<IDon'tKnowWhatToPassHere>**, new PasswordReset());
        }

        [Fact]
        public void Get()
        {
            var message=passwordResetMessage.Get();
            Assert.Contains(message, "");
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...