zoukankan      html  css  js  c++  java
  • 在Android Studio进行“简单配置”单元测试(Android Junit)

    1. 起因
      1. 在Android studio 刚出。本人就想弄单元测试,可惜当时Android studio不知道抽什么风(准确来说,应该是我不会弄而已)。无法执行到相应的代码。
        后来今天突然自己又抽风。又想去弄一下Android junit。
      2. 本文基于做过Eclipse开发使用过Android junit,如果Eclipse的Android Junit没有使用过,就我没有说过吧!
    2. 准备环境,配置
      1. 官网Demo地址:https://github.com/googlesamples/android-testing-templates.git
      2. 环境
        1. 根据demo中
          1. 单纯想运行java的单元测试就引入
            // Dependencies for local unit tests
            testCompile 'junit:junit:' + rootProject.ext.junitVersion
            testCompile 'org.mockito:mockito-all:' + rootProject.ext.mockitoVersion
            testCompile 'org.hamcrest:hamcrest-all:' + rootProject.ext.hamcrestVersion
          2. 想运行Android的Junit得引入
            // Android Testing Support Library's runner and rules
            androidTestCompile 'com.android.support.test:runner:' + rootProject.ext.runnerVersion
            androidTestCompile 'com.android.support.test:rules:' + rootProject.ext.rulesVersion
        2. 最后在   defaultConfig 节点添加


          defaultConfig {
          testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
          }


        3. 以上配置要配置在“启动项目中”build.gradle文件中,方可自动关联上启动项目

          1. Android Studio本来启动项目中的测试代码分为两个目录
          2. 如果是通过更改“sourceSets”的话。那就要得重新配置注明相应的文件夹(这是Eclipse转AS导出的配置)
            sourceSets{
            sourceSets{
            main{
            java.srcDirs = ['src']
            }
            androidTest{
            java.srcDirs = ['androidTest/src']
            }
            test{
            java.srcDirs = ['test/src']
            }
            }
          3. 最后就把相应的文件放入具体目录
            1. androidTest  “Android的Junit”
            2. test “java的单元测试”
    3. 代码
      1. junit
        public class ExampleUnitTest {
        @Test
        public void addition_isCorrect() throws Exception {
        System.out.println("123");

        }
        }
      2. Android junit
        public class AndroidRuntimeCodeTest extends AndroidTestCase {

        public void testHello() throws Exception {
        System.out.println("testHello");
        }
        }
    4. 结论
      1. 注意事项
        1. 以前Eclipse做单元测试得往AndroidManifest.xml标明

          1. <manifest >
            <instrumentation
                    android:name="android.test.InstrumentationTestRunner"
                    android:targetPackage="com.example.viewtest" />
            </manifest>
          2. <application>
            <uses-library android:name="android.test.runner" />
            </application>
        2. Android studio就要在build.gradle
          1. 导入相应的包

          2. android{
                defaultConfig {
                    testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
                }
            }
      2. 还有一点:就是“测试使用的需要的包”遇到与“启动项目的包”冲突时,使用
        configurations.all {
        resolutionStrategy {
        androidTestCompile 'com.android.support.test:runner:0.4.1'
        androidTestCompile 'com.android.support.test:rules:0.4.1'

        forcedModules = ['com.android.support:support-annotations:23.0.1']

        }
        }

     
  • 相关阅读:
    #背包#nssl 1488 上升子序列
    #环#nssl 1487 图
    #分治#JZOJ 4211 送你一颗圣诞树
    #概率,dp#JZOJ 4212 我想大声告诉你
    #并查集#JZOJ 4223 旅游
    #dp#nssl 1478 题
    #对顶堆#nssl 1477 赛
    #线段树,离散#nssl 1476 联
    #折半搜索,状压dp#nssl 1471 Y
    #并查集,线性筛#nssl 1470 X
  • 原文地址:https://www.cnblogs.com/shortboy/p/5634006.html
Copyright © 2011-2022 走看看