Java Can';t为简单控制器运行Spring启动测试

Java Can';t为简单控制器运行Spring启动测试,java,spring,spring-boot,Java,Spring,Spring Boot,我有一个简单的测试: package com.example.app; import com.example.app.HomeController; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.sprin

我有一个简单的测试:

package com.example.app;

import com.example.app.HomeController;

import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class HomeControllerTest {

    @Autowired
    private HomeController controller;
    
}
和一个家庭控制器

测试位于test/java/com/example/app中 控制器位于java/com/example/app中

为什么进口问题不能解决

如果没有它,它也无法工作,这与教程的建议是一致的

没有输入,我仍然得到

编辑:


我从Visual Studio代码创建了这个包,但它只是一个简单的maven init模板。

您的测试类不包含任何测试方法。这就是为什么当你试图执行它时,什么都不会发生

你能做什么?至少实施一种测试方法,并用
@test
对其进行注释

更新:


原因是查错了名字。没有神奇的理由。每个人都会犯错误。

这是我的例子,我试着跑步,效果很好-

@SpringBootTest
@ActiveProfiles("test")
@RunWith(SpringRunner.class)
public class MainApplicationTest {
  
  @Autowired
  HomeController homeController;
  @Autowired
  OtherController otherController;

  @Test
  public void testContextLoading() throws Exception{
    assertThat(homeController).isNotNull();
    assertThat(otherController).isNotNull();
  }

}

1) 您的测试类不包含任何测试方法。显示测试类的整个代码。2) 解释你所说的“不能跑”是什么意思。如何从Maven、Gradle、命令行和IDE启动它?当您尝试运行它时,您看到了什么?如果测试在同一个包中,则无需导入控制器。请参阅更新的描述它不会运行,因为我无法引用控制器及其测试。这意味着它没有上下文运行
mvn测试时,我会遇到“构建失败”
@vuvgaG-dukgu3-wysnox:显示您的项目结构。完成,感谢您的支持help@vuvgaG-dukgu3 wysnox:1)屏幕截图上既没有HomeController也没有HomeControllerTest。2) 显示HomeController的源代码。3) 运行
mvn clean package
并显示结果。编译失败***找不到符号[ERROR]符号:class HomeController[ERROR]位置:class com.example.app.HomeControllerTest如果包相同,则不需要导入语句。尝试mvn清理编译。如果您正在使用某些IDE,请创建干净的构建。还要检查HomeController是否在com.example.app包中。而且它没有任何错误。
@SpringBootTest
@ActiveProfiles("test")
@RunWith(SpringRunner.class)
public class MainApplicationTest {
  
  @Autowired
  HomeController homeController;
  @Autowired
  OtherController otherController;

  @Test
  public void testContextLoading() throws Exception{
    assertThat(homeController).isNotNull();
    assertThat(otherController).isNotNull();
  }

}