一 数据格式xml&json入门与解析

一 单元测试方法

https://blog.csdn.net/yingaizhu/article/details/80297087

1.1  添加单元测试依赖包

    在程序模块下面的build.gradle中需要引入的依赖包:一般Androidstudio新建项目就会自动生成

testImplementation-引入的依赖是java unit单元测试,是运行在当前电脑的jvm上的单元测试;

androidTestImplementation-引入的依赖是Android单元测试,是运行在Android环境的单元测试。

1.2 添加测试代码目录

    如果AndroidStudio当前项目视图为Android,需要切换为Project视图,在程序模块下面的src目录下添加androidTest/java(Android单元测试,运行在Android环境的单元测试)和test/java(JUnit单元测试,运行在当前电脑的jvm上的单元测试),然后在里面添加包名和测试类。

  • androidTest/java(Android单元测试,运行在当前电脑的jvm上的单元测试,执行测试的时候需要Android连接设备,速度比较慢,适合需要调用Android api的单元测试)
  • test/java(JUnit单元测试,用来放不需要Android依赖的单元测试类,运行在当前电脑的jvm上的单元测试,速度快,适合只是对java代码功能进行单元测试)

1.3 添加单元测试类

1.3.1手动编写单元测试类

1.3.1.1  androidTest测试类

    androidTest测试类适用于需要依赖Android api的单元测试,需要连接Android设备才能进行测试。新建的androidTest java类需要添加@RunWith(AndroidJUnit4.class)注解,类的方法如果是测试入口方法需要添加@Test注解。
示例代码:路径 app\src\androidTest\java\com\example\itandroid_1

public class MainActivityTest {

    private Context mTargetContext;

    @Before
    public void setUP() throws Exception {
        mTargetContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
    }

    @Test
    public void onCreate() {
        try { ApplicationInfo applicationInfo = mTargetContext.getPackageManager().getApplicationInfo(mTargetContext.getPackageName(), PackageManager.GET_META_DATA); Bundle metaData = applicationInfo.metaData; String data = metaData.getString("com.panzq.Androidtest"); assertEquals("123456", data); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } }

1.3.1.2  test测试类

    test测试类适用于纯java的单元测试,运行于当前设备的jvm环境中,无需Android设备即可测试。新建test java类,类的方法如果是测试入口方法需要添加@Test注解。
代码示例:路径app\src\test\java\com\example\itandroid_1
public class TestUtil {
    @Before
    public void setUp() throws Exception {

    }

    @Test
    public void isEmpty() {
        assertEquals(true, TextUtils.isEmpty(""));
    }
}

1.3.1.3 测试类中的setUp方法

    在测试类中的setUp方法,可以在启动测试前进行一些初始化,比如测试类中的变量等初始化,这个方法需要添加@Before注解。

说明:
上面的示例代码中可以直接使用assertEquals,是因为使用了静态import方法引入了相应的包(import static org.junit.Assert.*;)
根据测试的功能合理使用androidTest和test,提高单元测试效率。
2.2 自动生成测试类和测试方法
        上面介绍的是手动添加测试类和测试方法,以下介绍自动生成测试类和方法。在项目源码中选中需要添加单元测试的类并打开,在内容显示区域“右键”->“Go To”,在弹出窗口中选择“Test”,在弹出窗口中选择“Create New Test ......”

 

 在接下来弹出的对话框中,勾选需要添加单元测试的方法,在这里有个“Generate”通用方法生成,可以选择setUp/@Before(启动前调用,可用于初始化)和tearDown/@After(结束后调用)

1.3 运行单元测试

1.3.1 运行单个测试方法

    在测试方法题内部,“右键”,在弹出菜单中选择“Run 方法名”即可(单元测试也可以使用断点调试和性能调试)。

1.3.2 批量运行测试方法(有些情况下可能会无法实现)    

  在终端使用gradle运行test任务,可以执行所有的单元测试方法(在AndroidStudio的Terminal运行gradlew test,在系统终端中运行gradle -p 项目路径 test,gradle没有配置环境变量,需要绝对路径),运行完成后,就会运行所有的单元测试方法,并且会显示结果,如下图:

 

二 XML语法 

<?xml version ="1.0" encoding ="utf-8"?>
<中国>
    <北京>
        <昌平></昌平>
        <海淀></海淀>
    </北京>
</中国>

2.1文档声明

<?xml version ="1.0" encoding ="utf-8"?>文档声明必须写在第一行
保存的时候xml声明的编码要跟文件保存的编码保存一致,如果不声明编码默认utf-8

2.2 元素

<中国>
    <北京>
        <昌平></昌平>
        <海淀></海淀>
    </北京>
</中国>

2.3 属性

1.属性要写在开始标签中

2.属性的命名规则跟元素的命名规则一样

3.属性一定要用引号包起来,单引号双引号都可以

4.属性的内容可以用子标签形式表示

2.4 注释

<!-- 注释-->

CDATA 注释 可以包含大于小于号,不会被解析器解析

<![CDATA[<北京></北京>]]>

2.5 特殊字符 转义

特殊字符 特殊字符
& &amp;
< &lt;
> &gt;
" &quot;
' &apos;

2.6 shcema

https://www.w3school.com.cn/schema/schema_howto.asp

2.7 Dom 解析

猜你喜欢

转载自www.cnblogs.com/qiangge-python/p/11828946.html