-1

出于某种原因,我的测试类在 Eclipse 中工作并通过,但是如果我从命令行尝试使用mvn test -Dtest=BmwTest它会失败。它给出的原因是:

java.lang.AssertionError: Never found parameters that satisfied method assumptions.  Violated assumptions: []

我的代码:

@RunWith(Theories.class)
public class BmwTest {

    @DataPoints
    public static Integer[] a = { 
             1,
             2,
             3
    };

    @Theory
    public void testMyTest(Integer a) {

    }

}

我试过使用原语(int),它仍然给出同样的错误。单数注释@DataPoint有效,但复数注释@DataPoints无效。这是怎么回事?非常感谢您的帮助!谢谢

4

1 回答 1

0

我做了一些挖掘,结果发现是junit-dep导致了这个问题。我检查了测试类路径,并包含了 junit.jar 和 junit-dep.jar。基本上,它们是相同的,唯一的区别是 junit-dep.jar 不包括 hamcrest 库。如果你想知道 junit-dep 来自哪里,它是 jmock 的一个依赖项,我忘了提到我们正在使用它。我删除了 pom 中的 junit-dep 依赖项,一切正常。

<dependency>
    <groupId>org.jmock</groupId>
    <artifactId>jmock-junit4</artifactId>
    <version>2.6.0</version>
        <exclusions>
            <exclusion>  
                <groupId>junit</groupId>
                <artifactId>junit-dep</artifactId>
            </exclusion>
        </exclusions> 
</dependency>    
于 2013-07-27T01:08:09.350 回答