Android测试教程(13):TestCase示例

jerry Android 2015年08月24日 收藏

Android 测试框架是基于JUnit的,因此对一些和平台关系不大的类,可以直接使用JUnit中的TestCase来测试。

MorseCodeConverterTest 用来测试MorseCodeConverter类,MorseCodeConverter的实现和Android平台联系不大,因此可以直接使用TestCase作为基类。

TestCase 由Assert 类派生而来,Assert 提供了大量的Assert方法,用来比较期望值和实际值。

本例代码如下:

public class MorseCodeConverterTest extends TestCase {

 @SmallTest
 public void testCharacterS() throws Exception {

 long[] expectedBeeps = {
 MorseCodeConverter.DOT,
 MorseCodeConverter.DOT,
 MorseCodeConverter.DOT,
 MorseCodeConverter.DOT,
 MorseCodeConverter.DOT};
 long[] beeps = MorseCodeConverter.pattern('s');

 assertArraysEqual(expectedBeeps, beeps);
 }

 private void assertArraysEqual(long[] expected, long[] actual) {
 assertEquals("Unexpected array length.",
 expected.length, actual.length);
 for (int i = 0; i < expected.length; i++) {
 long expectedLong = expected[i];
 long actualLong = actual[i];
 assertEquals("Unexpected long at index: " + i,
 expectedLong, actualLong);
 }
 }
}

为一个基本的JUnit Testcase 测试,使用assertEquals 来测试期望值和实际值。