gpt4 book ai didi

java - 在测试上下文中禁用@Async 调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:03 24 4
gpt4 key购买 nike

我正在尝试测试用@Async 注释的void 方法。像这样:

    @Async
public void asyncMethod()
{
//some actions
}

我知道可以在测试中关闭 anync 执行不将 @EnableConfig 添加到我的测试 spring 配置文件中。问题是我的测试 Spring 配置类包含 .xml 配置。并且在该配置中启用了异步调用属性。这是我的测试配置类:

@Configuration
@ImportResource(value = {/some paths to xml contexts})
@ComponentScan(basePackages = { "package" })
public class TestApplication
{
// beans
}

这就是在其中一个 xml 配置中打开异步调用的方式:

<task:annotation-driven executor="parallelUpdateExecutor" scheduler="scheduler" mode="aspectj"/>

我很感兴趣,是否有能力在测试 spring 上下文中关闭异步调用?谢谢。

最佳答案

最简单的方法是使用bean 定义配置文件

你可以把 <task:annotation-driven ...嵌套声明 <beans profile="async" ...在您的 XML 文件中的部分,然后仅通过 @ActiveProfiles("async") 为需要它的测试激活该配置文件.

问候

Sam(Spring TestContext Framework 的作者)

关于java - 在测试上下文中禁用@Async 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47055160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com