JUnit初级使用

1.理解JUnit的作用

        JUnit是单元测试的一个工具。举个例子来说:我写了一个验证用户输入的用户名密码是否正确的方法,那我要验证我写的方法是否是正确的,这就有了JUnit这个测试工具;有了这个工具,比如我登陆开发完了,接着又开发完退出的功能。这时你不敢保证在你开发退出功能的时候是否有影响到登陆功能,这时就可以再运行一下JUnit即可知道登陆功能是否能正常运行;

2.知道JUnit用在什么地方

        我们验证用户是否可以登陆的步骤如下:收到用户输入的用户名和密码-->密码加密(数据库中的密码是经过加密的)-->拿去数据库查找用户名和密码是否是正确的-->告诉用户是否登陆成功;这样问题就来了。比如我写两个方法,一个是验证是否可以登陆(提供给页面调用的),一个方法是(把密码加密);那么我们只要写一个JUnit方法即可,就是需求里面要求的(验证用户是否可以登陆),它并不管你内部如果实现,JUnit只是传个用户名和密码给你,然后收到你方法的返回值,判断一下是否跟预期的值一样;

3.举个例子

        类Tools.java//用于验证用户是否可以登陆,并返回true表示登陆成功false表示登陆失败MD5.java我就不写了。

                 public class Tools
                 {
                     public boolean embark(String userName, String password)
                     {
                         if (userName.equals("wangwz"))
                         {
                             if (MD5.toMD5(password).equals("856F794C4FB79CE50D35344F310A01A7"))
                             {
                                 return true;
                             }
                             else
                             {
                                 return false;
                             }
                         }
                         else
                         {
                             return false;
                         }
                     }
                 }

                再写一个测试的类ToolsTest.java   //(命名最好统一,这样代码易维护)

                 import junit.framework.TestCase
                 public class TestTools extends TestCase //必须继承自这个类,测试用例编写时要考虑到边界,异常之类的情况,对每种情况都写个测试用例
                 {
                    private Tools tools;
                    private int result;
                    //该方法在测试的最前面运行
                    public void setUp()
                    {
                        this.tools = new Tools();
                        // 这里可以做一个获取连接之类的事
                        System.out.println("setUp");
                    }
                    //该方法是在每执行一次结束后都运行
                    public void tearDown()
                    {
                        // 释放连接
                        System.out.println("tearDown");
                    }

                    public void testEmbarkSucc()//这个就是测试用例,名称最好是这种形式test+方法名+状态(成功,失败)
                    {
                        result = tools.embark("wangwz", "wangwz");
                        assertTrue(result);//把结果拿来跟预期的值比较(因为传的是正确的,所以应该返回真)
                    }
                }

              如果使用Eclipse,则直接就可以运行ToolsTest.java了;

              也可以在CMD下面运行JUnit测试类,首先得把JUnit的包设置进classpath,不过不能把包放到JDK目录下去(我机子上是这种情况的);然后进到ToolsTest.class的目录下,执行:java        junit.textui.TestRunner 类名 即可看到结果

4.批量测试

        如果每次去执行这些测试用例是非常麻烦的。所以可以写一个批量执行测试的类,内容如下:

            import junit.framework.Test;
            import junit.framework.TestCase;
            import junit.framework.TestSuite;
            public class TestAll extends TestCase
            {
                public static Test suite()
                {
                    TestSuite testSuite = new TestSuite("TestSuite");
                    testSuite.addTestSuite(ToolsTest.class);
                    testSuite.addTestSuite(OperateTest.class);//这是另外的测试用例,可以加多个
                    return testSuite;
                }
            }

            现在执行这个TestAll.java即可,运行方式同上;

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值