Android 測試框架是基于 JUnit 的,因此對一些和平臺關(guān)系不大的類,可以直接使用 JUnit 中的 TestCase 來測試。
MorseCodeConverterTest 用來測試 MorseCodeConverter 類,MorseCodeConverter 的實現(xiàn)和 Android 平臺聯(lián)系不大,因此可以直接使用 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 來測試期望值和實際值。