У меня есть тестовое тестирование, которое устанавливает тестовый сервер, создает запросы и проверяет ответ.Запустите OWIN TestServer от mstest.exe
Когда я запускаю те модульные тесты из Visual Studio Test Explorer, они отлично работают. Создается TestServer, выполняются запросы и возвращается правильный ответ.
Когда я запускаю тот же код из командной строки (на нашем сервере CI), TestServer всегда возвращает код состояния для «Not Found». Никаких других исключений нет. Существуют ли какие-либо конкретные команды, которые мне нужно добавить при запуске OWIN из командной строки?
Команда MSTest.exe выглядит следующим образом:
MSTest.exe /testcontainer:myTests.dll /resultsfile:testresults.trx
Мой метод испытаний выглядит следующим образом:
[TestMethod]
public async Task GetToken()
{
using (var server = TestServer.Create<TestStartupConfiguration>())
{
var response = await server.CreateRequest("/TokenUrl").And(x => x.Content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("username", user.UserName),
new KeyValuePair<string, string>("password", user.Password),
new KeyValuePair<string, string>("grant_type", "password")
})).PostAsync();
response.IsSuccessStatusCode.Should().BeTrue("this is the expected return value of an Access Token request");
var responseString = await response.Content.ReadAsStringAsync();
responseString.Should().NotBeNullOrWhiteSpace("the response of an Access Token request should not be empty");
}
}
И, как я уже сказал, тест отлично работает в рамках Visual Studio. И все остальные модульные тесты выполняются из командной строки, как ожидалось.
Большое спасибо!
Является ли ваша сборка для восстановления пакетов NuGet? – toadflakz