(2)单元测试
  首先在 MainActivity 中编写 androidTest() 方法,该方法用于向集合 testList 中添加不重复的 int 值,并返回此时 testList 的大小:
  待测试方法:

  待测试方法
  然后在 ExampleInstrumentedTest 测试类中进行断言测试:

  断言测试
  此时运行测试用例:

  运行测试用例
  发现没有异常情况抛出,说明测试通过。
  不过,现在这个单元测试其实只是覆盖了很少的情况而已,我们应该再编写一些特殊情况下的断言,看看程序是不是仍然能够正常工作。
  修改 ExampleInstrumentedTest 中的代码,如下所示:

  特殊情况下的断言
  可以看到,这里我们又调用了一次 androidTest() 方法来添加int值到 testList 中,并且添加的仍然还是2。连续添加两次相同int值,这应该算是一种比较特殊的情况了。这时我们觉得 androidTest() 有能力去过滤掉重复的数据,因此在断言的时候认为目前
  androidTest() 中的testList大小仍然是 3。
  重新运行一遍测试用例,结果如图:

  特殊情况下断言运行结果
  很遗憾,测试用例没有通过。从这个测试用例中我们发现, androidTest() 方法中的代码原来是不够健壮的,这个时候应该对代码进行优化了。
  修改 androidTest() 中的代码,如下所示:

  androidTest()修改后
  这里我们在 androidTest()方法中加入了一个 if 判断,只有当集合中不包含传入的int值的时候才会将它添加到集合中,这样可以解决掉int值重复的 bug 了。
  现在重新运行一遍测试用例:

  重新运行测试用例
  你会发现测试又能成功通过了。