如何让Eclipse遵守@FixMethodOrder JUnit指令?

如何让Eclipse遵守@FixMethodOrder JUnit指令?,eclipse,maven,junit,Eclipse,Maven,Junit,我正在使用EclipseKepler(Java8)。使用我的Maven(v3.2.3)项目。我正在使用JUnit4.11,正如我在pom.xml文件中声明的那样 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>

我正在使用EclipseKepler(Java8)。使用我的Maven(v3.2.3)项目。我正在使用JUnit4.11,正如我在pom.xml文件中声明的那样

            <dependency>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                    <version>4.11</version>
                    <scope>test</scope>
            </dependency>
但是,当我在Eclipse中运行测试时(通过右键单击文件名并选择“run As”、“JUnit test”),Eclipse并不是按名称升序运行测试,而是按照文件中列出的顺序逐个运行测试


我的问题是,如何让Eclipse尊重文件中的“FixMethodOrder”指令?注意,我对关于为什么运行JUnit测试的顺序无关紧要的讲座不感兴趣

打开项目生成路径(右键单击项目>生成路径>配置生成路径…)并转到“库”选项卡。您的Eclipse类路径上有“JUnit4”还是只有“Maven依赖项”:

通过选择“JUnit4”并点击右侧的移除按钮来移除它。Maven指定了所有依赖项,因此不需要Eclipse添加到这些依赖项中


根据我的经验,Eclipse在运行时似乎更喜欢自己的JUnit库,而不是“Maven依赖项”提供的JUnit库:如果Eclipse的“JUnit 4”库位于类路径上,我在使用
@FixMethodOrder
时,在Eclipse和direct Maven之间的测试执行顺序上会得到不同的结果,但是如果我删除了这个库,那么Eclipse和Maven是一致的。

Hi,我有大量的依赖项反映了pom中的内容(例如M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar-/Users/davea/.M2/repository/antlr/2.7.7/antlr-2.7.7.jar),底部是“JRE系统库(JavaSE-1.6)”,但没有“JUnit4”“。这一理论到此为止(Eclipse和Maven使用的是不同的JUnit jar)。您的依赖项是否都分组在“Maven dependencies”标题下,或者它们都添加到Eclipse类路径中作为对磁盘上jar的引用?它们显示为对磁盘上jar的引用(例如,使用“M2_REPO/…”语法).我正在使用M2E Eclipse插件,但如果这是问题的根源,我愿意从中切换。
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class MyTest
{