NetCore 2.1 TestServer Return 500 Внутренняя ошибка сервера - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь написать интеграционный тест для своего API, и я пытаюсь использовать TestServer на .netCore и использовать xunit.

Но я всегда получаю 500 ошибок из запроса.Я также пытался запросить онлайн-ссылку для тестирования (https://jsonplaceholder.typicode.com/users), но даже таким образом я получаю 500.

Кстати, когда я запускаю свой API и проверяю метод, который я пытаюсьтест набирает 200 и работает отлично.

Это все сообщение, которое я получаю.


Имя теста : RepoCore.TEST.IntegrationTests.IntegrationTest.QueryFromEntitiyTestAsync

Test FullName : RepoCore.TEST.IntegrationTests.IntegrationTest.QueryFromEntitiyTestAsync

Источник теста : C: \ Users \ Sercan \ source \ repos \RepoCore.API \ RepoCore.TEST \ IntegrationTests \ IntegrationTest.cs: строка 0

Результат теста : Не удалось Продолжительность теста : 0: 00: 04,645

Результат StackTrace :
в RepoCore.TEST.IntegrationTests.IntegrationTest.QueryFromEntitiyTestAsync () --- Конец трассировки стека из предыдущего местоположения, где было сгенерировано исключение ---

Сообщение о результате : Ошибка Assert.Equal ()

Ожидаемый : ОК

Фактический : InternalServerError


 public class IntegrationTest : IDisposable
 {

    private DataContext _context;
    private readonly HttpClient _client;

        public IntegrationTest()
        {
            var configuration = new ConfigurationBuilder().SetBasePath(Path.GetFullPath(@"../../../../../../")).Build();

            var server = new TestServer(new WebHostBuilder().UseStartup<Startup>().UseConfiguration(configuration));

            var serviceProvider = new ServiceCollection().AddEntityFrameworkSqlServer().BuildServiceProvider();


            var builder = new DbContextOptionsBuilder<DataContext>();
            builder.UseSqlServer("Server=xyz;Database=xyz; User ID=xyz;Password=1; Trusted_Connection=True;").UseInternalServiceProvider(serviceProvider);
            _context = new DataContext(builder.Options, _logContext);
            _context.Database.Migrate();


            _client = server.CreateClient();
        }




        [Fact]
        public async Task QueryFromEntitiyTestAsync()
        {
            API.Models.Repos newrepo = new API.Models.Repos { RepoName = "TestName2", RepoAdress = "Some Street", IsActive = 1 };

            _context.Repos.Add(newrepo);
            _context.SaveChanges();


            var response = await _client.GetAsync("/api/Repo/GetRepoById?RepoId=" + newrepo.RepoID);

           //var response = await _client.GetAsync("https://jsonplaceholder.typicode.com/users");


            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

        }
 }
...