2

LITTLE_ENDIAN有些测试我只在机器上有意义。

这可以做得更干净吗?

@Test
public void testSomething(){
   if (ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN) {
      // do your thing
   } else {
      // skip
   }
}

如果可能的话,我想避免在每次测试中进行这种检查。

4

1 回答 1

5

你应该做这个:

@Test
public void testSomething() {
    org.junit.Assume.assumeTrue( ByteOrder.LITTLE_ENDIAN.equals( ByteOrder.nativeOrder() );
    // more code
}

JUnit 假设是:

一组方法,可用于陈述有关测试有意义的条件的假设。失败的假设并不意味着代码被破坏,而是测试没有提供有用的信息。

http://junit.sourceforge.net/javadoc/org/junit/Assume.html

似乎您正在尝试做的是说明您的测试有意义的条件

于 2013-05-28T19:24:23.027 回答