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 来测试期望值和实际值。