Почему я получаю ObjectDisposedException при запуске интеграционных тестов? - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть этот код:

    [Fact]
    public async Task CorrectlyBakesACake()
    {
        // create user
        var userdto = await CreateFakeUserAsync();
        // create Cake
        var cakedto = await CreateBasicCakeForUserAsync(userdto);
    }


    public async Task<UserDto> CreateFakeUserAsync()
    {
        var _userAppService = LocalIocManager.Resolve<UserAppService>();
        return await _userAppService.Create(
            new CreateUserDto
            {
                EmailAddress = "cakejohn@gmail.com",
                IsActive = true,
                Name = "John",
                Surname = "Nash",
                Password = "caker123",
                UserName = "cakejohn"
            });
    }


    public async Task<OwnerCakeDto> CreateBasicCakeForUserAsync(UserDto user)
    {

        LoginAsHost(user.UserName);

        var _cakeAppService = LocalIocManager.Resolve<CakeAppService>();
        await _cakeAppService.BakeCake(new BakeCakeInput()
        {
            sprinkles = true,
            color ="aqua",
            Yum = 5
        });

        return _cakeAppService.GetCakes()[0];

    }

Почему объект контекста удаляется?Удаляет ли DI объекты при выходе из сервисного метода?Когда именно DI решает избавиться от контекста?Какое «правильное» было делать подобные тесты?Я хочу максимально использовать методы службы / службы домена.

Ошибка возникает при попытке _cakeAppService.BakeCake.

...