在项目中找不到测试 class - "The input type of the launch configuration does not exist"
Cannot find test class in project - "The input type of the launch configuration does not exist"
我正在为我的项目使用 TestContainers,但是当我 运行 在 eclipse 中进行测试时,出现以下错误
除此 window 之外,它还给出了一个特定的错误,即 无法在项目“myProject” 中找到测试 class“DBInitTest”。
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 有问题。
我在网上查了一下,但只找到了一些内容,说我应该 右键单击源文件夹 --> 构建路径 --> 作为源路径,但是这个修复似乎对我不起作用。
我不是专家,无法解释为什么这个修复了,但是:-
今天我开始遇到与您报告的相同的问题。
折腾了一阵子(重装STS、lombok……)终于点开了弹出的错误入口。我为不会 运行.
的测试“编辑启动配置属性”
在那里,我点击了“测试 Class:”字段行中的“搜索”。
我从弹出的“测试选择”window中选择了正确的class。
(注意我认为的值与已经存在的值相同)
更新
现在我觉得很傻。
我在名为“AdminTaskControllerMockMvcTests.java”的文件中进行了名为“AdminTaskControllerMockMvcTest”的测试class,即class名称末尾有一个“s”。
将我的测试 class 重命名为“AdminTaskControllerMockMvcTests”解决了我所有的问题。
此致,安德鲁
所以我弄清楚了错误是什么。
我的项目结构是这样的:
└─main_project/
├─ myProject/
└─ other_sub_project/
这听起来可能很愚蠢,但这绝对是初学者经常做的事情(就像我一样)。我已经在我的 IDE 中打开了 main_project 并且该项目中还有其他子项目。 DBIinitTest 位于名为 myProject.
的子项目中
我只是因为这个结构而收到错误。所以当我关闭项目并直接从IDE打开子项目时,错误消失了。
解决步骤:
- 关闭当前打开的项目即main_project
- 在 IDE
中单击 打开项目
- 导航到子项目的文件夹,即 myProject 并在 IDE
中打开它
- 瞧,错误现在消失了。 ;)
我正在为我的项目使用 TestContainers,但是当我 运行 在 eclipse 中进行测试时,出现以下错误
除此 window 之外,它还给出了一个特定的错误,即 无法在项目“myProject” 中找到测试 class“DBInitTest”。
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 有问题。
我在网上查了一下,但只找到了一些内容,说我应该 右键单击源文件夹 --> 构建路径 --> 作为源路径,但是这个修复似乎对我不起作用。
我不是专家,无法解释为什么这个修复了,但是:-
今天我开始遇到与您报告的相同的问题。
折腾了一阵子(重装STS、lombok……)终于点开了弹出的错误入口。我为不会 运行.
的测试“编辑启动配置属性”在那里,我点击了“测试 Class:”字段行中的“搜索”。
我从弹出的“测试选择”window中选择了正确的class。 (注意我认为的值与已经存在的值相同)
更新
现在我觉得很傻。
我在名为“AdminTaskControllerMockMvcTests.java”的文件中进行了名为“AdminTaskControllerMockMvcTest”的测试class,即class名称末尾有一个“s”。
将我的测试 class 重命名为“AdminTaskControllerMockMvcTests”解决了我所有的问题。
此致,安德鲁
所以我弄清楚了错误是什么。
我的项目结构是这样的:
└─main_project/
├─ myProject/
└─ other_sub_project/
这听起来可能很愚蠢,但这绝对是初学者经常做的事情(就像我一样)。我已经在我的 IDE 中打开了 main_project 并且该项目中还有其他子项目。 DBIinitTest 位于名为 myProject.
的子项目中我只是因为这个结构而收到错误。所以当我关闭项目并直接从IDE打开子项目时,错误消失了。
解决步骤:
- 关闭当前打开的项目即main_project
- 在 IDE 中单击 打开项目
- 导航到子项目的文件夹,即 myProject 并在 IDE 中打开它
- 瞧,错误现在消失了。 ;)