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