我已经创建了一个简单的单元测试,但是IntelliJ错误地将它突出显示为红色。将其标记为错误
没有豆子?
如你所见,它通过了测试?所以它一定是自动连接的?
我已经创建了一个简单的单元测试,但是IntelliJ错误地将它突出显示为红色。将其标记为错误
没有豆子?
如你所见,它通过了测试?所以它一定是自动连接的?
当前回答
在存储库类上添加Spring注释@Repository。
我知道没有这个注释它也能工作。但是如果添加了这个,IntelliJ将不会显示错误。
@Repository
public interface YourRepository ...
...
如果您将Spring Data与扩展Repository类一起使用,则会产生冲突包。那么你必须直接标明包裹。
import org.springframework.data.repository.Repository;
...
@org.springframework.stereotype.Repository
public interface YourRepository extends Repository<YourClass, Long> {
...
}
接下来,您可以自动连接存储库而不会出现错误。
@Autowired
YourRepository yourRepository;
这可能不是一个好的解决方案(我猜您试图注册存储库两次)。但是为我工作,不要出错。
也许在IntelliJ的新版本中可以修复:https://youtrack.jetbrains.com/issue/IDEA-137023
其他回答
只要你的测试通过了,你是好的,点击alt + enter,将光标移到错误上,在第一项的子菜单中,你会发现禁用检查,选择它
我总是用以下方法来解决这个问题。 设置>检查>弹簧核心>代码,然后从错误切换到警告的严重性选项
检查您是否在服务类中遗漏了@Service注释,我就是这种情况。
我在spring引导应用程序中解决这个问题的方法是打开spring应用程序上下文,并手动为缺失的自动连接bean添加类!
(通过项目结构菜单或弹簧工具窗口访问…编辑“Spring Application Context”)
因此,SpringApplicationContext不仅仅包含我的ExampleApplication spring配置,它还包含了缺失的Bean:
SpringApplicationContext:
ExampleApplication.java MissingBeanClass.java
et voilà:错误信息消失!
我有这个问题。只使用
@SpringBootTest
@AutoConfigureMockMvc
带有测试类的注释。