在项目中找不到测试类 - “启动配置的输入类型不存在”
Posted
技术标签:
【中文标题】在项目中找不到测试类 - “启动配置的输入类型不存在”【英文标题】:Cannot find test class in project - "The input type of the launch configuration does not exist" 【发布时间】:2021-10-14 19:17:25 【问题描述】:我正在为我的项目使用 TestContainers,但是当我在 Eclipse 中运行测试时,我遇到了以下错误
在这个窗口的顶部,它还给出了一个特定的错误,上面写着 Cannot find test class "DBInitTest" in project "myProject"。
package org.ft.cdcp;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.*;
import org.testcontainers.containers.PostgreSQLContainer;
import org.testcontainers.utility.DockerImageName;
import org.testcontainers.junit.jupiter.Testcontainers;
@Testcontainers
public class DBInitTest
private final PostgreSQLContainer sqlContainer = new PostgreSQLContainer(DockerImageName.parse("postgres:alpine"));
@BeforeEach
public void setUp()
sqlContainer.start();
@Test
@DisplayName("Initializing database container")
public void initTest()
assertTrue(sqlContainer.isRunning());
请注意,我已经检查并重新检查了依赖项,一切都完好无损,它们没有问题,只有 JUnit5 有问题。
我在网上查了一下,但只发现了一些说我应该右键单击源文件夹 --> 构建路径 --> 用作源路径,但这个修复似乎没有为我工作。
【问题讨论】:
【参考方案1】:我不是专家,无法解释为什么这会解决任何问题,但是:-
今天我开始遇到与您报告的相同的问题。
折腾了一阵子(重新安装 STS、lombok ...)后,我最终点击了弹出的错误条目。我为无法运行的测试“编辑 lauch 配置属性”。
在那里,我点击了“测试类:”字段行上的“搜索”。
我从弹出的“测试选择”窗口中选择了正确的课程。 (注意我认为与已经存在的值相同)
更新
现在我觉得很傻。
我在名为“AdminTaskControllerMockMvcTests.java”的文件中有一个名为“AdminTaskControllerMockMvcTest”的测试类,即类名末尾带有“s”。
将我的测试类重命名为“AdminTaskControllerMockMvcTests”解决了我的所有问题。
问候,安德鲁
【讨论】:
【参考方案2】:所以我弄清楚了错误是什么。
我的项目结构是这样的:
└─main_project/
├─ myProject/
└─ other_sub_project/
这听起来可能很愚蠢,但这绝对是初学者经常倾向于做的事情(就像我一样)。我已经在我的 IDE 中打开了 main_project,并且该项目中还有其他子项目。 DBInitTest 位于名为 myProject 的子项目中。
我只是因为这个结构而得到错误。所以当我关闭项目并直接从IDE打开子项目时,错误就消失了。
解决步骤:
-
关闭当前打开的项目,即main_project
在你的IDE中点击Open Project
导航到子项目的文件夹,即 myProject 并在 IDE 中打开它
瞧,错误现在消失了。 ;)
【讨论】:
以上是关于在项目中找不到测试类 - “启动配置的输入类型不存在”的主要内容,如果未能解决你的问题,请参考以下文章