单元测试之道——基于junit的java单元测试 的读书笔记与思考

本文介绍了如何使用JUnit进行Java单元测试,包括基本的测试方法编写、断言使用、测试套件的构建以及setUp和tearDown方法的应用。通过具体示例展示了单元测试的重要性及其实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二章 你的首个单元测试

这一张已经忘了差不多,如何去测试,其实首先还是得先去考虑怎么去测试,这个就需要看代码单元的需求了。 一个简单的例子。测试排序

第二章 你的首个单元测试

这一张已经忘了差不多,如何去测试,其实首先还是得先去考虑怎么去测试,这个就需要看代码单元的需求了。 一个简单的例子。测试排序

 
  1. assert 9 Largest.getLargest(1,3,9);
  2. assert 9 = Largest.getLargest(3,9,7); //多个测试,更能够防止错误。

其实上面的想法,很简单,更主要的是意识,意识真的很重要,我刚打赌,很多不用单元测试的人,压根可能想不到上面那格简单的方式。自嘲一下,我开始看时就感叹了一下。单元测试不麻烦。像这种测试,真的及其重要。有时候不小心改了一些东西,导致了错误,单元测试一下子就能够帮你发现。 另外单元测试能够帮助你快速定位bug。

第三章 使用JUnit 进行单元测试。

jUnit java 测试框架。实现junit 进行测试。 利用junit 中的各种断言进行判断。ps:随着知识的增长,我越来越觉得之前看的一些,不懂其用意的东西,现在觉得真的是非常秒。比如说我之前看到HMM模型里面的源码,就有一些test 。当时不知其目的跟意义。 junit 测试框架。基本就是实现testcase 类,然后添加test方法。代码大致如下:

 
  1. class TestCaseExample1 extand TestCase{
  2. public TestCaseExample1(){
  3. super("AndroidTestCaseExample1");
  4. }
  5. //just a test example
  6. public void testPlus(){
  7. assertEquals(2,1+1);
  8. }
  9. }

ps:举一反三一下(想到一句老话:看的东西有限,不多想想,你一辈子会的东西也会就是那么多了),android 测试框架类似。不过是使用AndroidTestCase. Example :

 
  1. class AndroidTestCaseExample1 extand AndroidTestCase{
  2. public AndroidTestCaseExample1(){
  3. super("AndroidTestCaseExample1");
  4. }
  5. /*
  6. * 完全可以测试android里面使用的一些类。比如说像我使用的,自己写的网络数据获取的类。使用这个来测试就非常合适。
  7. */
  8. public void testPlus(){
  9. assertEquals(2,1+1);
  10. }
  11. public void testCOntext(){
  12. Context context = getContext();
  13. }
  14. }

如果想要测试android Activity的话 可以使用InstrumentationTestCase,继承改类。

测试类也有一个很好的东东,suite()想想,有时候尝试测试多个的testcase 的时候,把所有的testcase 都在一个里面运行,不是方便很多了么? ps:运行测试case 的时候,是运行一个testcase。 so, suite 能够方便我们将多个testcase 一起测试。使用范例是: public static Test suite(){ TestSuite suite = new TestSuite(); suite.addTest(new TestCaseTwo(“tests”); //另外一种方式 suite.addTestSuie(TestClassOne.class); }

另外一个比较实用的是setUp() tearDown(); setUp() 会在每个测试函数前面运行,tearDown()在测试函数后面执信,每个测试函数都会如此。

另外有一个per-suite Setup 和 Tear-down(); 能够在每个TestCase 前面和后面测试。对应的函数是onTimesetUp() onTimeTearDown(); 可以同时使用它们

在suie 中 使用,如下方式,加入 per-suite setup teardown

 
  1. TestSetup wrapter new TestSetup(suite){
  2. protected void setUp(){
  3. onTimeSetUp();
  4. }
  5. protected void tearDown(){
  6. onTimeTearDown();
  7. }
  8. }

最后就是使用自己的断言了。其实,最好实现一个自己的TestCase 供自己在项目中继承使用,这样以后需要添加什么测试,就会方便很多了。即使现在这个自定义的基类没有实现一个方法。

测试中出现的异常是个好东西。要有这种想法。

测试骨架

 
  1. import
  2. extend testcase
  3. 调用 superstring);


另外的访问地址:http://boyhouzhi.com/2013/12/05/pragmatic-unit-testing-in-java-with-junit/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值