Standard Output Messages:
[testcontainers.org 00:00:03.98] Reuse is an experimental feature. For more information, visit: https://dotnet.testcontainers.org/api/resource_reuse/
-> warning: The previous ScenarioContext was already disposed.
Failed EmailAddressesAreValidatedByTheForgottenPasswordScreen("it uses unquoted backslashes",null) [26 ms]
Error Message:
System.InvalidOperationException : Sequence contains more than one element
TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
Stack Trace:
at System.Linq.ThrowHelper.ThrowMoreThanOneElementException()
at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
at DotNet.Testcontainers.Containers.DockerContainer.UnsafeCreateAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 441
at DotNet.Testcontainers.Containers.DockerContainer.StartAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 306
at [MYCOMPANY].[MYAPP].UI.Tests.Hooks.ConfigurationHooks.SetConfiguration(IObjectContainer objectContainer) in /home/runner/actions-runner/_work/[MYAPP]/[MYAPP]/Tests/[MYCOMPANY].[MYAPP].UI.Tests/Hooks/ConfigurationHooks.cs:line 48
at Reqnroll.Bindings.AsyncMethodHelper.ConvertTaskOfT(Task task, Boolean getValue)
at Reqnroll.Bindings.BindingDelegateInvoker.InvokeDelegateAsync(Delegate bindingDelegate, Object[] invokeArgs, ExecutionContextHolder executionContext)
at Reqnroll.Bindings.BindingInvoker.InvokeBindingAsync(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, DurationHolder durationHolder)
at Reqnroll.Infrastructure.TestExecutionEngine.InvokeHookAsync(IAsyncBindingInvoker invoker, IHookBinding hookBinding, HookType hookType)
at Reqnroll.Infrastructure.TestExecutionEngine.FireEventsAsync(HookType hookType)
at Reqnroll.Infrastructure.TestExecutionEngine.FireEventsAsync(HookType hookType)
at Reqnroll.Infrastructure.TestExecutionEngine.OnFeatureStartAsync(FeatureInfo featureInfo)
at Reqnroll.TestRunner.OnFeatureStartAsync(FeatureInfo featureInfo)
at [MYCOMPANY].[MYAPP].UI.Tests.Features.PasswordAndEmailValidationFeature.TestInitializeAsync()
at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
at NUnit.Framework.Internal.AsyncToSyncAdapter.Await[TResult](TestExecutionContext context, Func`1 invoke)
at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(TestExecutionContext context, Func`1 invoke)
at NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUpOrTearDownMethod(TestExecutionContext context, IMethodInfo method)
at NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUp(TestExecutionContext context)
at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.c__DisplayClass1_0.b__0()
at NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)
--TearDown
at Reqnroll.Infrastructure.TestExecutionEngine.OnScenarioEndAsync()
at Reqnroll.TestRunner.OnScenarioEndAsync()
at [MYCOMPANY].[MYAPP].UI.Tests.Features.PasswordAndEmailValidationFeature.TestTearDownAsync()
at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.GetResult()
at NUnit.Framework.Internal.AsyncToSyncAdapter.Await[TResult](TestExecutionContext context, Func`1 invoke)
at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(TestExecutionContext context, Func`1 invoke)
at NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUpOrTearDownMethod(TestExecutionContext context, IMethodInfo method)
at NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunTearDown(TestExecutionContext context)
Приведенное выше сообщение об ошибке происходит, когда я пытаюсь настроить TestContainer в моем скрипте теста автоматизации для запуска сервера MailDev, чтобы перехватить электронную почту для отправителя почты для пользователей.
[BeforeFeature(Order = TestRunSequence.RegisterObjectContainer)]
public static async Task SetConfiguration(IObjectContainer objectContainer)
{
var configuration = new ConfigurationBuilder()
.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables() // Load environment variables
.AddUserSecrets()
.Build();
objectContainer?.RegisterInstanceAs(configuration);
var mailDevContainer= new ContainerBuilder()
.WithImage("maildev/maildev:latest")
.WithPortBinding(1080, true)
.WithPortBinding(1025, true)
.WithWaitStrategy(Wait.ForUnixContainer().UntilPortIsAvailable(1080))
.WithReuse(true)
.WithLabel("maildev-container", "MailDev")
.WithPortBinding(1080, 1080)
.WithPortBinding(1025, 1025)
.Build();
if (!isStarted)
{
await mailDevContainer.StartAsync();
isStarted = true;
}
objectContainer?.RegisterInstanceAs(mailDevContainer);
***(More code irrelevant to this issue is here)***
}
< /code>
Похоже, он жалуется на строку 48 (Tests/[MYCOMPANY].[MYAPP].UI.Tests/Hooks/ConfigurationHooks.cs:line 48
); что отражает строку await maildevcontainer.startasync ();
Я не знаю, почему это происходит, но я также вижу ошибку перед этим упомянутым сообщением об ошибке: docker.dotnet.dockerapiexcept Программирование внешней подключения в конечной точке Adoring_hopper (397aeaf67af9014dc4341dfedc0494e52219ceb718d00fce6160bd81e8c69a74): привязка для 0.0.0.0:1025. Не удалось: Порт уже атакует ». Вы можете помочь идентифицировать это?
[b] Журнал ошибок: [/b] [code]Standard Output Messages: [testcontainers.org 00:00:03.98] Reuse is an experimental feature. For more information, visit: https://dotnet.testcontainers.org/api/resource_reuse/ -> warning: The previous ScenarioContext was already disposed. Failed EmailAddressesAreValidatedByTheForgottenPasswordScreen("it uses unquoted backslashes",null) [26 ms] Error Message: System.InvalidOperationException : Sequence contains more than one element TearDown : System.NullReferenceException : Object reference not set to an instance of an object. Stack Trace: at System.Linq.ThrowHelper.ThrowMoreThanOneElementException() at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found) at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source) at DotNet.Testcontainers.Containers.DockerContainer.UnsafeCreateAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 441 at DotNet.Testcontainers.Containers.DockerContainer.StartAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 306 at [MYCOMPANY].[MYAPP].UI.Tests.Hooks.ConfigurationHooks.SetConfiguration(IObjectContainer objectContainer) in /home/runner/actions-runner/_work/[MYAPP]/[MYAPP]/Tests/[MYCOMPANY].[MYAPP].UI.Tests/Hooks/ConfigurationHooks.cs:line 48 at Reqnroll.Bindings.AsyncMethodHelper.ConvertTaskOfT(Task task, Boolean getValue) at Reqnroll.Bindings.BindingDelegateInvoker.InvokeDelegateAsync(Delegate bindingDelegate, Object[] invokeArgs, ExecutionContextHolder executionContext) at Reqnroll.Bindings.BindingInvoker.InvokeBindingAsync(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, DurationHolder durationHolder) at Reqnroll.Infrastructure.TestExecutionEngine.InvokeHookAsync(IAsyncBindingInvoker invoker, IHookBinding hookBinding, HookType hookType) at Reqnroll.Infrastructure.TestExecutionEngine.FireEventsAsync(HookType hookType) at Reqnroll.Infrastructure.TestExecutionEngine.FireEventsAsync(HookType hookType) at Reqnroll.Infrastructure.TestExecutionEngine.OnFeatureStartAsync(FeatureInfo featureInfo) at Reqnroll.TestRunner.OnFeatureStartAsync(FeatureInfo featureInfo) at [MYCOMPANY].[MYAPP].UI.Tests.Features.PasswordAndEmailValidationFeature.TestInitializeAsync() at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted() at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter) at NUnit.Framework.Internal.AsyncToSyncAdapter.Await[TResult](TestExecutionContext context, Func`1 invoke) at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(TestExecutionContext context, Func`1 invoke) at NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUpOrTearDownMethod(TestExecutionContext context, IMethodInfo method) at NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUp(TestExecutionContext context) at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.c__DisplayClass1_0.b__0() at NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action) --TearDown at Reqnroll.Infrastructure.TestExecutionEngine.OnScenarioEndAsync() at Reqnroll.TestRunner.OnScenarioEndAsync() at [MYCOMPANY].[MYAPP].UI.Tests.Features.PasswordAndEmailValidationFeature.TestTearDownAsync() at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.GetResult() at NUnit.Framework.Internal.AsyncToSyncAdapter.Await[TResult](TestExecutionContext context, Func`1 invoke) at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(TestExecutionContext context, Func`1 invoke) at NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUpOrTearDownMethod(TestExecutionContext context, IMethodInfo method) at NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunTearDown(TestExecutionContext context) [/code] Приведенное выше сообщение об ошибке происходит, когда я пытаюсь настроить TestContainer в моем скрипте теста автоматизации для запуска сервера MailDev, чтобы перехватить электронную почту для отправителя почты для пользователей.[code][BeforeFeature(Order = TestRunSequence.RegisterObjectContainer)] public static async Task SetConfiguration(IObjectContainer objectContainer) { var configuration = new ConfigurationBuilder() .SetBasePath(AppDomain.CurrentDomain.BaseDirectory) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddEnvironmentVariables() // Load environment variables .AddUserSecrets() .Build(); objectContainer?.RegisterInstanceAs(configuration);
var mailDevContainer= new ContainerBuilder() .WithImage("maildev/maildev:latest") .WithPortBinding(1080, true) .WithPortBinding(1025, true) .WithWaitStrategy(Wait.ForUnixContainer().UntilPortIsAvailable(1080)) .WithReuse(true) .WithLabel("maildev-container", "MailDev") .WithPortBinding(1080, 1080) .WithPortBinding(1025, 1025) .Build();
if (!isStarted) { await mailDevContainer.StartAsync(); isStarted = true; }
***(More code irrelevant to this issue is here)*** } < /code> Похоже, он жалуется на строку 48 (Tests/[MYCOMPANY].[MYAPP].UI.Tests/Hooks/ConfigurationHooks.cs:line 48[/code]); что отражает строку await maildevcontainer.startasync (); Я не знаю, почему это происходит, но я также вижу ошибку перед этим упомянутым сообщением об ошибке: docker.dotnet.dockerapiexcept Программирование внешней подключения в конечной точке Adoring_hopper (397aeaf67af9014dc4341dfedc0494e52219ceb718d00fce6160bd81e8c69a74): привязка для 0.0.0.0:1025. Не удалось: Порт уже атакует ». Вы можете помочь идентифицировать это?
Журнал ошибок:
Standard Output Messages:
Reuse is an experimental feature. For more information, visit:
-> warning: The previous ScenarioContext was already disposed.
Failed EmailAddressesAreValidatedByTheForgottenPasswordScreen( it uses...
Пытаюсь вернуть учеников, но постоянно получаю эту ошибку. Pastebin.com/s3V34JkL
Таблица «Мои ученики» заполнена. Введите здесь описание изображения
Я запускаю свою локальную базу данных в Docker, так как Я работаю на Mac.
Попробовал спросить AI и...
Пытаюсь вернуть учеников, но постоянно получаю эту ошибку. Pastebin.com/s3V34JkL
Таблица «Мои ученики» заполнена. Введите здесь описание изображения
Я запускаю свою локальную базу данных в Docker, так как Я работаю на Mac.
Попробовал спросить AI и...
I do get an (IMHO) unexpected Exception InvalidOperationException Sequence contains no elements in the below code, where I believe this should not be the case. Please see the code, background info and description below.