Java JUnit假设失败理论

Java JUnit假设失败理论,java,junit,junit4,Java,Junit,Junit4,我在JUnit@Theory上乱搞,发现如果忽略它,假设真(假)会使理论失效 public class SnippetTest { @Test public void validateIndices() { assumeTrue(false); } } 此代码未通过测试: @RunWith(Theories.class) public class SnippetTest { @Theory public void validateIndi

我在JUnit
@Theory
上乱搞,发现如果忽略它,
假设真(假)
会使理论失效

public class SnippetTest {

    @Test
    public void validateIndices() {
        assumeTrue(false);
    }
}
此代码未通过测试:

@RunWith(Theories.class)
public class SnippetTest {

   @Theory
   public void validateIndices(){
       assumeTrue(false);
   }
}
SnippetTest.ValidateIndicates从未找到满足以下条件的参数 方法假设。违反假设: [org.junit.AssumptionViolatedException:get:false,应为:is 真的]

但是当我使用@Test假设时,忽略它

public class SnippetTest {

    @Test
    public void validateIndices() {
        assumeTrue(false);
    }
}
这与我的观点相反

如果任何一个假设失败,数据点将被自动忽略


我遗漏了什么或做错了什么?

感谢@TamasRev的评论,我发现了哪里出了问题。看起来,如果所有假设都失败了,它将无法通过测试。我的情况我张贴,我只有一个假设。 如果我使用的是
@DataPoints
,会发生什么? 这个也失败了

@RunWith(Theories.class)
public class SnippetTest {

    @DataPoints
    public static boolean[] data(){
        return new boolean[]{false, false};
    }

   @Theory
   public void validateIndices(boolean data){
       assumeTrue(data);
       assertTrue(true);
   }
}
但若至少有一个假设通过,那个么测试并没有失败

@RunWith(Theories.class)
public class SnippetTest {

    @DataPoints
    public static boolean[] data(){
        return new boolean[]{false, true};
    }

   @Theory
   public void validateIndices(boolean data){
       assumeTrue(data);
       assertTrue(true);
   }
}

Thanx@TamasRev为我指出了正确的方向。

据我所知,数据点被忽略了,而不是理论。看起来这种行为很好,你完全正确。谢谢你!