前言
最近对mock单元测试进行了修改,发现将其改为 try-with-resources后跑maven test仍然报错static mocking is already registered in the current thread
解决方案
不多废话直接揭露答案,比如A类为静态类,在多个测试类中出现,被构建为静态mock,且报错的位置都为try块以内,出现这种状况很诡异。答案是有些类没在try块内创建或者没有关闭,且它没有在maven test中报错,只需要在test包内搜索A类,找到所有构建静态Mock的测试类,将其所有都改为在try块内即可。