IDEA 中的简单单元测试配置

来源:互联网 发布:类似whatsapp的软件 编辑:程序博客网 时间:2024/06/06 19:29

关于单元测试是开发中特别是网络编程中离不开的一个方法与工具,怎样充分的用好它显得尤其重要。

下面就针对这个方法做一些相关的说明与尝试。

第一步创建程序

第二步创建test根目录文件夹

设置TestsourcesRoot,大概应该是这个样子操作

 

第三步创建相关包及相关类

为什么要创建两个包呢?

 

第四步开始编写类

在com.mxl.mxlapp包文件下创建一个aboutTestCalss类,并添加一个sayHello()方法。

[java] view plain copy 在CODE上查看代码片派生到我的代码片
  1. package com.mxl.mxlapp;  
  2.   
  3.   
  4. public class aboutTestClass {  
  5.     public  aboutTestClass(){  
  6.   
  7.     }  
  8.     public String sayHello(){  
  9.         return "hello";  
  10.     }  
  11.   
  12. }  


在Common包文件下创建MyTestCommon类,并添加两个简单的方法postUrl()和getUrl();

[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. package Common;  
  2.   
  3. public class MyTestCommon {  
  4.   
  5.     public  String postUrl(){  
  6.   
  7.         return  "www.baidu.com";  
  8.     }  
  9.   
  10.   
  11.     public  String getUrl(){  
  12.         return  "www.12306.cn";  
  13.     }  
  14.   
  15. }  


 

 

第五步关联测试类

这次要使用Ctrl+shift+T快捷键

分别打开上述的类,使用Ctrl+shift+T快捷键,将出现以下界面

点击进入以下界面

 

common下的类同样道理:

 

 

以上操作完成之后在test根目录下会出现以下界面:

 

而下面两个测试类里面的代码如下

[java] view plain copy 在CODE上查看代码片派生到我的代码片
  1. package com.mxl.mxlapp;  
  2.   
  3. import junit.framework.TestCase;  
  4. import org.junit.Before;  
  5. import org.junit.Test;  
  6.   
  7. import static org.junit.Assert.*;  
  8.   
  9. public class aboutTestClassTest  extends TestCase {  
  10. private  aboutTestClass mAboutTestClass;  
  11.     @Before  
  12.     public void setUp() throws Exception {  
  13.         mAboutTestClass=new aboutTestClass();  
  14.     }  
  15.   
  16.     @Test  
  17.     public void testSayHello() throws Exception {  
  18.         assertEquals("hello",mAboutTestClass.sayHello());  
  19.     }  
  20. }  


 

[java] view plain copy 在CODE上查看代码片派生到我的代码片
  1. package Common;  
  2.   
  3. import junit.framework.TestCase;  
  4. import org.junit.Before;  
  5. import org.junit.Test;  
  6.   
  7. import static org.junit.Assert.*;  
  8.   
  9. public class MyTestCommonTest extends TestCase {  
  10.     private MyTestCommon myTestCommon;  
  11.   
  12.     @Before  
  13.     public void setUp() throws Exception {  
  14.         myTestCommon = new MyTestCommon();  
  15.     }  
  16.   
  17.     @Test  
  18.     public void testPostUrl() throws Exception {  
  19.         assertEquals("www.dxy.cn", myTestCommon.postUrl());  
  20.     }  
  21.   
  22.     @Test  
  23.     public void testGetUrl() throws Exception {  
  24.         assertEquals("www.dxy.cn", myTestCommon.getUrl());  
  25.   
  26.     }  
  27. }  


 最后

 以上完成之后,还有一关键步骤需要配置,就是AndroidMainfest.xml文件下的相关操作

 

[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. <uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />  
  2. <instrumentation android:name="android.test.InstrumentationTestRunner"  
  3.                  android:targetPackage="com.mxl.mxlapp"/>  
  4. <application  
  5.     android:name=".MyApplication"  
  6.     android:allowBackup="true"  
  7.     android:icon="@drawable/ic_launcher"  
  8.     android:label="@string/app_name">  
  9.   
  10.     <uses-library android:name="android.test.runner" />  
  11. </application>  


注意:Android:targetPackage和

[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     package="com.mxl.mxlapp"  
  3.     android:versionCode="1"  
  4.     android:versionName="1.0" >  

相同就行。这时已经配置完成了。
最后一步运行测试方法可以借助快捷键ctrl+shift+F10运行

 

 此时显示测试已经通过。

 左边栏显示ok的表示运行正确,如果有感叹号的证明和自己期望的值不相同。

 

问题:

为什么要创建两个包?

创建两个包对后面执行测试类中的方法有没有什么影响?

在AndroidMainfest.xml配置文件中有没有需要特别注意的?

 

欢迎大家补充,提出疑问! 

 

0 0
原创粉丝点击