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

jerry Android 2015年08月24日 收藏

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

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

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

本例代码如下:

  1. public class MorseCodeConverterTest extends TestCase {
  2.  
  3. @SmallTest
  4. public void testCharacterS() throws Exception {
  5.  
  6. long[] expectedBeeps = {
  7. MorseCodeConverter.DOT,
  8. MorseCodeConverter.DOT,
  9. MorseCodeConverter.DOT,
  10. MorseCodeConverter.DOT,
  11. MorseCodeConverter.DOT};
  12. long[] beeps = MorseCodeConverter.pattern('s');
  13.  
  14. assertArraysEqual(expectedBeeps, beeps);
  15. }
  16.  
  17. private void assertArraysEqual(long[] expected, long[] actual) {
  18. assertEquals("Unexpected array length.",
  19. expected.length, actual.length);
  20. for (int i = 0; i < expected.length; i++) {
  21. long expectedLong = expected[i];
  22. long actualLong = actual[i];
  23. assertEquals("Unexpected long at index: " + i,
  24. expectedLong, actualLong);
  25. }
  26. }
  27. }
  28.  

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