主要内容

自定义数据存储的测试指南

派生自定义数据存储类类的所有数据存储共享一些常见的行为。此测试程序提供了测试所有自定义数据存储所拥有的最小行为和功能的指南。您需要额外的测试来限定您的自定义数据存储的任何唯一功能。

如果您根据指令开发了自定义数据存储开发自定义数据存储,然后按照这些测试程序符合您的自定义数据存储。首先执行单元测试,然后是工作流测试:

  • 单元测试限定了数据存储区构造函数和方法。

  • 工作流测试限定了数据存储使用。

对于所有这些测试用例:

  • 除非在测试说明中指定,否则假设您正在测试一个非空的数据存储DS.

  • 在文件扩展名、文件编码和数据位置(如Hadoop)上验证测试用例®)您的自定义数据存储旨在支持。金宝app

单位测试

建造

数据存储区构造函数的单元测试指南如下。

测试案例描述 预期产出

检查您的自定义数据存储架是否适用于最小所需的输入。

具有最小预期属性和方法的自定义数据存储类型的数据存储对象

检查您的数据存储】对象DS.拥有matlab.io.datastore.作为其超类之一。

运行此命令:

ISA(DS,'matlab.io.datastore'

1要么真的

使用所需的输入和任何受支持的输入参数和名称值对参数致电自定义数据存储区构造函数。金宝app

具有最小预期属性和方法的自定义数据存储类型的数据存储对象

单位测试指南方法

测试案例描述 预期产出

打电话给方法DS.

t =读(DS);

数据开始的数据

如果指定读取大小,则返回的数据的大小相当于读取大小。

打电话给在数据存储区对象上再次进行方法。

t =读(DS);

从先前读取操作的终点开始的数据

如果指定读取大小,则返回的数据的大小相当于读取大小。

继续致电在DataStore对象的方法循环中的方法。

尽管(Hasdata(DS))T =读取(DS);结尾

没有错误

以正确格式正确的数据

当数据可用读取时,请检查信息输出(如果有的话)方法。

调用数据存储区对象DS.

[t,信息] =读(DS);

没有错误

信息包含预期的信息

T.包含预期数据

当没有更多数据可以读取时,呼叫在数据存储区对象上。

基于自定义数据存储的实现,预期输出或错误消息。

读物

单位测试指南读物方法

测试案例描述 预期产出

打电话给读物数据存储对象的方法。

所有数据

打电话给读物数据存储对象上的方法,何时hasdata(DS)错误的

从数据存储中读取,直到hasdata(DS)错误的,然后打电话给读物方法。

尽管(Hasdata(DS))T =读取(DS);结尾
readall(DS)

所有数据

哈迪塔

单位测试指南哈迪塔方法

测试案例描述 预期产出

打电话给哈迪塔在制作任何呼叫之前对数据存储对象的方法

真的

打电话给哈迪塔在进行几个电话后,数据存储对象的方法,但在读取所有数据之前

真的

当有更多数据可读时,调用读物方法,然后拨打电话哈迪塔方法。

真的

当没有更多可读取的数据时,调用哈迪塔方法。

错误的

重置

单位测试指南重置方法

测试案例描述 预期产出

打电话给重置在对其进行任何调用之前对数据存储对象的方法方法。

验证这一点方法呼叫后返回适当的数据重置方法。

重置(DS);t =读(DS);

没有错误

从数据存储开头返回数据。

如果指定读取大小,则返回的数据的大小相当于读取大小。

当有更多数据可读时,调用重置在几次呼叫之后的方法方法。

验证这一点方法拨打电话后返回适当的数据重置方法。

没有错误

方法从数据存储开头返回数据。

如果指定读取大小,则返回的数据的大小相当于读取大小。

当有更多数据可读时,调用重置拨打电话后的方法读物方法。

验证这一点方法拨打电话后返回适当的数据重置方法。

没有错误

方法从数据存储开头返回数据。

如果指定读取大小,则返回的数据的大小相当于读取大小。

当没有更多可读取的数据时,调用重置在数据存储对象上的方法,然后调用方法

验证的调用后返回适当的数据重置方法。

没有错误

方法从数据存储开头返回数据。

如果指定读取大小,则返回的数据的大小相当于读取大小。

进步

单位测试指南进步方法

测试案例描述 预期产出

打电话给进步在对其进行任何调用之前对数据存储对象的方法方法。

0.或基于自定义数据存储的预期输出。

打电话给进步调用后数据存储区对象的方法读物,但在做出任何电话之前

readall(DS);进展(DS)

0.或基于自定义数据存储的预期输出。

打电话给进步在进行几个电话后,数据存储对象的方法虽然更多的数据可供阅读。

一部分0.1或基于自定义数据存储的预期输出。

打电话给进步当没有更多数据可以读取时,数据存储对象的方法。

1或基于自定义数据存储的预期输出。

预习

单位测试指南预习方法

测试案例描述 预期产出

称呼预习在进行任何通话之前在数据存储区对象上

预习方法根据您的自定义数据存储机实现,从数据存储开头返回预期数据。

称呼预习对数据存储对象进行几个调用后虽然更多的数据可供阅读。

预习方法根据您的自定义数据存储机实现,从数据存储开头返回预期数据。

称呼预习在调用数据存储对象之后读物虽然更多的数据可供阅读。

预习方法根据您的自定义数据存储机实现,从数据存储开头返回预期数据。

称呼预习对数据存储对象进行几个调用后和一个电话重置

预习方法根据您的自定义数据存储机实现,从数据存储开头返回预期数据。

称呼预习在数据存储区对象上时,没有更多数据可用读取。

预习方法根据您的自定义数据存储机实现,从数据存储开头返回预期数据。

称呼预习打了几个电话给方法然后致电一次。

方法从先前读取操作的终点开始返回从终点开始的数据。

如果指定读取大小,则返回的数据的大小相当于读取大小。

称呼预习,然后打电话读物在数据存储上。

读物方法返回数据存储中的所有数据。

虽然数据存储有数据可用于阅读,请致电预习,然后打电话哈迪塔

哈迪塔方法返回真的

划分

单位测试指南划分方法

测试案例描述 预期产出

称呼划分在数据存储区对象上DS.使用有效的分区数和有效的分区索引。

称呼在数据存储的分区上并验证数据。

Subds = partition(ds,n,index) read(Subds)

验证分区是否有效。

Isequal(属性(DS),属性(Subds))是等量(方法(DS),方法(Subds))

划分方法将数据存储区分区N分区并返回与指定对应的分区指数

返回的分区sub必须是自定义数据存储的数据存储对象。

分区数据存储sub必须具有与原始数据存储相同的方法和属性。

是平等的声明退货真的

打电话在分区上返回从分区开头开始的数据。

如果指定读取大小,则返回的数据的大小相当于读取大小。

称呼划分在数据存储区对象上DS.使用指定的分区数量1指数返回的分区指定为1

验证呼叫返回的数据预习在分区数据存储的分区上。

subds =分区(ds,1,1)isequal(属性(ds),属性(subds))isequal(方法(ds),方法(subds))isequaln(读取(subds),读取(ds))isequaln(预览(子组),预览(DS))

分区sub必须是自定义数据存储的数据存储对象。

分区sub必须具有与原始数据存储相同的方法和属性DS.

是平等的isequaln.陈述退货真的

称呼划分在分区上sub使用有效的分区数和有效的分区索引。

数据存储分区的分区应该在没有错误的情况下工作。

初始化atactore.

如果您的数据存储继承自matlab.io.datastore.hadoopfilebased.,然后验证行为初始化atactore.使用此表中的指南。

测试案例描述 预期产出

称呼初始化atactore.在数据存储区对象上DS.有效信息结构。

信息Struct包含以下字段:

  • 文件名

  • 抵消

  • 尺寸

文件名是数据类型char和田地抵消尺寸数据类型是双倍的。

例如,初始化信息结构,然后致电初始化atactore.在数据存储区对象上DS.

info = struct('文件名''myfilename.ext'......'抵消',0,'尺寸',500)初始化atastore(DS,Info)

通过检查数据存储对象的属性来验证初始化。

DS.

初始化atactore.方法初始化自定义数据存储对象DS.有必要的信息信息结构。

getLocation.

如果您的数据存储继承自matlab.io.datastore.hadoopfilebased.,然后验证行为getLocation.使用这些指导方针。

测试案例描述 预期产出

称呼getLocation.在数据存储区对象上。

位置= getLocation(DS)

根据您的自定义数据存储来实现,地点输出是其中的其中:

  • 文件或目录列表

  • 一种matlab.io.datastore.dsfileset.目的

如果地点是A.matlab.io.datastore.dsfileset.对象,然后调用解决验证文件中的文件地点输出。

解决(位置)

getLocation.方法返回Hadoop中文件的位置。

isfullfile

如果您的数据存储继承自matlab.io.datastore.hadoopfilebased.,然后验证行为isfullfile使用这些指导方针。

测试案例描述 预期产出

称呼isfullfile在数据存储区对象上。

根据您的自定义数据存储来实现,isfullfile方法返回真的要么错误的

工作流程测试

验证您在适当的环境中的工作流程测试。

  • 如果您的数据存储仅从matlab.io.datastore.,然后验证本地MATLAB中的所有工作流测试®会话。

  • 如果您的数据存储有并行处理支持(继承自金宝appmatlab.io.datastore.partitionable.),然后验证并行执行环境中的工作流程测试,例如并行计算工具箱™和MATLAB并行服务器™

  • 如果您的数据存储区具有Hadoop支持(继承自金宝appmatlab.io.datastore.hadoopfilebased.),然后在Hadoop集群中验证您的工作流测试。

高大的工作流程

测试指南高的工作流程

测试案例描述 预期产出

通过致电创建一个高大的数组高的在数据存储区对象上DS.

t =高(DS)

高的函数返回的输出数据类型与数据存储的方法。

对于此测试步骤,使用适合您的系统内存的数据创建数据存储对象。然后,使用此数据存储对象创建高阵列。

t =高(DS)

如果您的数据是数字,则应用类似的函数的意思是既是DS.T.,然后比较结果。

如果您的数据是数据类型细绳要么分类,然后申请独特在一列上的功能DS.还有一列T.,然后比较结果。

申请收集并验证结果。

对于例子,见使用高阵列和数据存储的大数据工作流程(并行计算工具箱)

没有错误

该函数返回正确的数据类型的输出(不是a高的数据类型)。

函数是否返回相同的结果是应用于的DS.T.

MapReduce工作流程

MapReduce工作流程测试指南

测试案例描述 预期产出

称呼mapreduce在数据存储区对象上DS.

Outds = MapReduce(DS,@ Mapper,@ Reducer)
有关更多信息,请参阅mapreduce

支持使金宝app用的使用mapreduce功能,函数方法必须返回两个信息数据输出参数。

没有错误

MapReduce操作返回预期结果

下一步

笔记

此测试程序提供了测试自定义数据存储的最小行为和功能的指南。额外的测试是有资格限定自定义数据存储的任何唯一功能。

完成自定义数据存储的实现和验证后,您的自定义数据存储已准备好使用。

也可以看看

||

相关话题