JUnit-testing a Spring @Async void service method

后端 未结 4 1663
情话喂你
情话喂你 2020-12-29 03:15

I have a Spring service:

@Service
@Transactional
public class SomeService {

    @Async
    public void asyncMethod(Foo foo) {
        // processing takes si         


        
4条回答
  •  长发绾君心
    2020-12-29 03:39

    I have done by injecting ThreadPoolTaskExecutor

    and then

    executor.getThreadPoolExecutor().awaitTermination(1, TimeUnit.SECONDS);

    before verifying results, it as below:

      @Autowired
      private ThreadPoolTaskExecutor executor;
    
        @Test
        public void testAsyncMethod() {
    
            Foo testData = prepareTestData();
    
            someService.asyncMethod(testData);
    
            executor.getThreadPoolExecutor().awaitTermination(1, TimeUnit.SECONDS);
    
            verifyResults();
        }
    

提交回复
热议问题