gtest

 

http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html

 

Android上使用gtest:

Google C++ unit test 是一款很不错的单元测试工具,易于构建单元测试例。我们在项目中也使用了此款工具,本文主要描述如何在ARMAndroid 2.3 环境下编译及使用googleC++ unit test 工具。本文假设读者已具备googleC++ unit test相应的基本知识。 如需了解基本知识,请参阅http://code.google.com/p/googletest/

1. 编译

我们项目所用的编译器:arm-linux-androideabi-g++及其相应工具链

从http://code.google.com/p/googletest/downloads/detail?name=gtest-1.6.0.zip处获取gtest-1.6.0.zip

a) 下载解压后,需更新build-aux目录下的 config.sub 。此为必须,否则将不能识别arm-linux-androideabi工具链。Config.sub可从http://gcc.gnu.org/svn/gcc/branches/cilkplus/config.sub 获取。

b) 然后执行./configure –host= arm-linux-androideabi

c) 此后会生成Makefile 文件, 接着我们需要编辑Makefile文件, 改动CXXFLAGS为 CXXFLAGS = -g -O2 –DANDROID 。 此为必须,否则编译不能通过。

d) 最后执行make , 在lib/.lib/目录下生成了libgtest.a文件。

2. 使用

假设项目只有两个文件: a.cpp;main.cpp 。

a) a.cpp 为主要被测文件,为此我们创建了一个测试文件,其中包含对a.cpp的测试例,命名为a_unittest.cpp。

b) 修改main函数为如下:

Int main(int argc, char *argv[])

{

testing::InitGoogleTest(&argc,argv);

returnRUN_ALL_TESTS();

}

c) 修改被测项目的Makefile ,一使其包含gtest的include目录。二使其在link时,需加上libgtest.a文件,即最终可执行文件应为如下link而成: a.o + main.o + a_unittest.o+ libgtest.a

运行此可执行文件即为运行单元测试例

 

 

android java使用junit

1.配置AndroidManifest.xml

复制代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="ly.excrcise"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
         <uses-library android:name="android.test.runner" />"<!--加这句-->
        <activity android:name=".ActivityMain"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="3" />
    <!--加下面两句-->
	<uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />"
	<instrumentation android:name="android.test.InstrumentationTestRunner" 
	android:targetPackage="ly.exercise"
	android:label="Test for my app"/>"
</manifest> 
复制代码

2.编写单元测试代码:必须继承AndroidTestCase
复制代码
package ly.exercise;

import junit.framework.Assert;
import android.test.AndroidTestCase;

public class AndroidTest extends AndroidTestCase {
	public void test(){
		int i=4+8;
		Assert.assertEquals(12,i);
	}
}
复制代码

其他关于junit的文章:

http://www.moandroid.com/?p=1108 (1到3上)

http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost&gid=74&tid=5147 (3下)

http://www.moandroid.com/?p=1166 (4)

http://www.moandroid.com/?p=1182 (5)

http://www.moandroid.com/?p=1223 (6)

http://www.moandroid.com/?p=1296 (7)

 

 

你可能感兴趣的:(gtest)