运行并行测试时调度程序的 Quartz 问题

问题描述 投票:0回答:1

错误:

Quartz.SchedulerException : Scheduler with name 'DefaultQuartzScheduler'
已存在。 我猜想 Web 应用程序工厂被使用了 N 次进行 N 次测试,而调度程序被创建了那么多次。

[assembly: CollectionBehavior(DisableTestParallelization = true)]
应用于命名空间是可行的,但在我看来这是一种黑客行为。运行 ASP.NET DI 时,我无法传递任何 Scheduler 实例。

这是我的 DI 配置的一部分:

services.AddQuartz(options =>
{
    options.UseMicrosoftDependencyInjectionJobFactory();
});

services.AddQuartzHostedService(options =>
{
    options.WaitForJobsToComplete = true;
});
asp.net testing quartz.net
1个回答
0
投票

通过从我的应用程序工厂中删除所有托管服务解决了此问题。

© www.soinside.com 2019 - 2024. All rights reserved.