如何根据机器字节顺序运行测试?

Jam*_*sev 2 java junit

有些测试我只对LITTLE_ENDIAN机器有意义.

这可以做得更干净了

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

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

Luc*_*cas 5

你应该做这个:

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

JUnit的假设是:

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

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

您似乎要做的就是说明您的测试有意义的条件.