Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java can';在eclipse中找不到作为junit测试运行_Java_Eclipse_Junit - Fatal编程技术网

Java can';在eclipse中找不到作为junit测试运行

Java can';在eclipse中找不到作为junit测试运行,java,eclipse,junit,Java,Eclipse,Junit,我在Eclipse中创建了一个测试类,如下所示 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:applicationContext.xml" }) @TransactionConfiguration @Transactional public class TeamTest extends AbstractTransactionalJUnit4SpringContextT

我在Eclipse中创建了一个测试类,如下所示

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContext.xml" })
@TransactionConfiguration
@Transactional
public class TeamTest extends AbstractTransactionalJUnit4SpringContextTests {

 @Test
 public void testCreate() {


  assert (true);
 }}
但是,当我右键单击文件时,我看不到作为JUnit运行的选项

怎么了


我正在使用Eclipse3.6编写一个简单的测试用例,看看Eclipse是否正常工作。如果可以运行简单的测试用例,请检查您的测试用例,尤其是导入类


或者在“运行”->“运行配置”中进行尝试,将“测试类”填写为“
TeamTest
”(完整类名)。然后单击“运行”,看看会发生什么…

确保您的eclipse环境正在使用JUnit4。JUnit3没有使用注释(它使用了旧的
extenstedtestcase
样式)

有几件事需要仔细检查:

Window>Preferences>Java>JUnit

您看到的是
junit4
还是
junit3
导入?如果看起来不错,请确保项目本身使用的是JUnit4而不是JUnit3

右键单击项目>属性>Java构建路径>库

那里包括JUnit4吗?有什么与JUnit相关的吗?如果JUnit3在那里,单击它并单击
删除
。然后单击添加库…
,然后按照此处的提示再次添加JUnit


出于好奇,JUnits是否在eclipse之外运行?与安装
mvn
或运行JUnits的Ant的任何构建目标一样

确保您使用Junit作为测试框架,而不是像TestNg那样覆盖Junit的大部分用途。

我通过将运行配置中的测试运行程序从默认Junit3更改为Junit4来修复它。一旦我做了这个更改,当我右键单击测试类并展开RunAs时,我可以看到Junit选项,我遇到了相同的问题,并验证了所有设置(上面提到的)都是正确的。pom.xml中的一个小改动(从2.5.0-M2版本改为1.5.21.RELEASE)解决了我的问题(见下文)。这是我能够始终如一地重现的

STS详细信息 版本:3.9.0.0发布 构建Id:201707061823 平台:EclipseOxygen(4.7.0)

Pom.xml更改

来自

<modelVersion>4.0.0</modelVersion>
<parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         **<version>2.5.0-M2</version>**
         <relativePath/> <!--  lookup parent from repository  -->
</parent>
4.0.0
org.springframework.boot
spring启动程序父级
**2.5.0-M2**

<modelVersion>4.0.0</modelVersion>
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        **<version>1.5.21.RELEASE</version>**
        <relativePath /> <!-- lookup parent from repository -->
</parent>
4.0.0
org.springframework.boot
spring启动程序父级
**1.5.21.发布**

指定了什么导入来加载测试注释?i、 例如,确保它是“import org.junit.Test”@Pace:“extends AbstractTransactionalJUnit4SpringContextTests”足以在Eclipse中进行测试。即使您使用的是junit 4+,如果您的测试“extends testCase”它找不到@Test annotations-删除exdends。除了chaitanyabhatt给出的答案之外-选择junit4作为整个项目的TestRunner-在java构建路径中添加junit4(根据错误@Test annotation给出的建议)