如何使用MATLAB写测试(2)Negative Test

如何使用MATLAB写测试(2)Negative Test

原文:如何使用MATLAB写测试(2)Negative Test - 知乎 (zhihu.com)

上一篇请参见

如何使用MATLAB写测试(1) - 知乎专栏

上一篇中,我们的实习生(来自俄罗斯)开发了知名的foo程序

function out = foo(in)validateattributes(in,{'numeric'},{'nonempty'}); % Returns zeroout = zeros(size(in),'like',in);
end

并加入了positive test case,接下来他想测试各种错误输入,期待有正确的错误反应。于是他发现了MATLAB Unittest中verifyError这个神奇的method. 阅读verifyError的文档后,实习生发现他需要一个error的identifier,作为一名合格的实习生,他知道用lasterr来获取这个id:

>>foo([])
Error using foo (line 2)
Expected input to be nonempty.
>>[~,id] = lasterr
id =MATLAB:expectedNonempty

于是他更新了自己的测试,加入了testEmptyError这个新的negative test case.

%% 所有的单元测试都需要从matlab.unittest.TestCase继承
classdef myTest < matlab.unittest.TestCase%% 定义以Test为attribute的methodsmethods (Test)% 定义你自己的测试function testSingle(test) %function唯一的参数test是你的测试对象% Verifies single input casein        = single(10);             %输入expOut    = zeros(1,'single');      %期待的输出actualOut = foo(in);                %调用待测程序test.verifyEqual(actualOut,expOut); %比较实际输出与期待输出end% Negative test casefunction testEmptyError(test)% Verifies error on empty inputin         = [];expErrorId = 'MATLAB:expectedNonempty';%传入function handle, 给出期待的error idtest.verifyError(@()foo(in),expErrorId);            endend
end

跑test

>> result = runtests('myTest')
Running myTest
..
Done myTest
__________result = 1x2 TestResult array with properties:NamePassedFailedIncompleteDurationDetailsTotals:2 Passed, 0 Failed, 0 Incomplete.0.044067 seconds testing time.

实习生很开心,实习生回家睡觉了。睡前他默念,MATLAB unittest大法好……

希望对大家有帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/19010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【YashanDB知识库】ODBC驱动类问题定位方法

【标题】ODBC驱动类问题定位方法 【需求分类】故障分析 【关键字】ODBC 【需求描述】由于我们的ODBC接口目前尚不完善&#xff0c;经常会遇见ODBC接口能力不足导致应用功能无法运行的问题&#xff0c;需要定位手段确定底层是哪个接口报错 【需求原因分析】方便一线数据库管…

【python】修改目标检测的txt标签(yolo)的类别ID映射

脚本功能&#xff1a; 针对目录下的所有yolo格式的txt标签文件&#xff0c;将class类别的id修改为指定id。 实际应用常见不多 代码 # -*- coding: utf-8 -*- # Time : 2023/9/11 10:58 # Author : CLW # FileName: change_txt_label.py # Software: PyCharmimport os 算法功…

markdown语法保存

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

实验七 RTP、DSPP协议的配置

一、实验目的 掌握 RIP 动态路由协议的配置、诊断方法。 二、实验步骤 1、 运行 Cisco Packet Tracer 软件&#xff0c;在逻辑工作区放入两台路由器、两台工作站 PC&#xff0c;分别点击各路由器&#xff0c;打开其配置窗口&#xff0c;关闭电源&#xff0c;分别加入一个 2 …

PowerPivot-跨表取值

在PowerPivot中&#xff0c;跨表取值通常涉及创建关系和使用DAX&#xff08;数据分析表达式&#xff09;函数。 以下是一些基本步骤和常用的DAX函数&#xff0c;帮助你在PowerPivot中实现跨表取值&#xff1a; 步骤1&#xff1a;创建关系 加载数据&#xff1a;确保你已将需要…

运维笔记:流编辑器sed命令用法解析

运维笔记 sed命令用法解析 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/arti…

数据结构与算法-有效的括号

数据结构与算法-有效的括号 大家好&#xff0c;欢迎来到我们的算法学习系列。今天是我们的第一篇文章&#xff0c;我们将探讨一个经典的面试题目——有效的括号匹配问题。 什么是有效的括号匹配&#xff1f; 在许多编程语言中&#xff0c;括号用于定义代码块、函数参数等。确…

Matlab 结构光相移法(单频多相)

文章目录 一、简介1、基于点的测距2、基于条纹的测距二、条纹编码2.1 二进制编码2.2相移法三、实现代码参考文献一、简介 在介绍相移法之前,我们需要先了解一下为啥会有相移法,了解了其来龙去脉,则更容易去应用它。 1、基于点的测距 首先我们从点的测距开始,这有点类似于立…

每日一题《leetcode--117.填充每个结点的下一个右侧结点指针||》

https://leetcode.cn/problems/populating-next-right-pointers-in-each-node-ii/ 这道题与我之前发布的题目116是一样的解题过程&#xff0c;只是本题所给的数组大小与116不同&#xff0c;这是需要注意的。 116题目链接&#xff1a; http://t.csdnimg.cn/3Ub02 struct Node* c…

推导n维镜像变换公式(householder transform)

n维镜像变换公式&#xff0c;就是将空间某个点 X 0 X_0 X0​&#xff0c;以某个平面对对称平面&#xff0c;平面法向量维 v v v&#xff0c;该平面过空间原点。计算 X 0 X_0 X0​的镜像。假设镜像为 X 1 X_1 X1​。 镜像需要满足下面两个条件 &#xff08;1&#xff09; X 0 X…

RAID配置实战

概念 raid磁盘阵列&#xff1a;可以用不同的硬盘分区&#xff0c;组成一个逻辑上的硬盘。具有高可用 raid级别&#xff1a; raid0 &#xff1a;条带化存储&#xff1a;数据分散在多个物理硬盘上的存储方式。利用多个磁盘并行读取和写入。存储性能和读写性能是最好的。没有冗…

解读《互联网政务应用安全管理规定》网络和数据安全中的身份认证和审计合规建设

为保障互联网政务应用安全&#xff0c;由中央网络安全和信息化委员会办公室、中央机构编制委员会办公室、工业和信息化部、公安部制定的《互联网政务应用安全管理规定》近日印发&#xff0c;自2024年7月1日起施行。 规定共8章&#xff0c;包括总则、开办和建设、信息安全、网络…

端到端目标检测 |从DETR 到 GroundingDINO

文章目录 一&#xff0c;DETR1. 简介2. 亮点3. 细节4. 总结一下 二&#xff0c;GroundingDINOGrounding DINO的整体流程Grounding DINO的目标函数 一&#xff0c;DETR 之前的目标检测框架&#xff0c;需要很多的人工干预&#xff0c;很多的先验知识&#xff0c;而且可能还需要…

Pandas格式化DataFrame的浮点数列

在呈现数据的同时&#xff0c;以所需的格式显示数据也是一个重要而关键的部分。有时&#xff0c;值太大了&#xff0c;我们只想显示其中所需的部分&#xff0c;或者我们可以说以某种所需的格式。 让我们看看在Pandas中格式化DataFrame的数值列的不同方法。 例1&#xff1a;将…

❤【纯干货】Matplotlib总结,任何项目都用得到呦❤

Matplotlib 在很多人眼里是无敌的存在&#xff0c;而且可以说是无敌的存在。 走过数据科学的路&#xff0c;路上必然有Matplotlib 的风景在你周围。 如果同一个项目&#xff0c;你的用了matplotlib 不仅有基本图形、定制化图形、多个坐标轴、3D绘图&#xff0c;还有动态交互绘…

DNSlog环境搭建

阿里云域名公网VPS地址 购买阿里云域名后设置“自定义DNSHOST” DNS服务器填写ns1和ns2 如&#xff1a;ns1.aaa.com IP地址填写你的VPS地址 如&#xff1a;1.1.1.1 填写解析记录&#xff0c;一个A记录、一个NS记录 NS记录就是*.域名指向记录值ns1.域名 如&#xff1a;*.aaa…

服务器的远程桌面无法连接,服务器远程桌面无法连接问题处理教程

服务器的远程桌面无法连接&#xff0c;服务器远程桌面无法连接问题处理教程。 一、问题概述 服务器远程桌面无法连接是日常运维中常见的问题之一。它可能由多种原因造成&#xff0c;如网络问题、服务器配置错误、远程桌面服务未启动等。本教程将指导您逐步排查并解决这些问题。…

计算机算法中的数字表示法——原码、反码、补码

目录 1.前言2.研究数字表示法的意义3.数字表示法3.1 无符号整数3.2 有符号数值3.3 二进制补码(Twos Complement, 2C)3.4 二进制反码(也称作 1 的补码, Ones Complement, 1C)3.5 减 1 表示法(Diminished one System, D1)3.6 原码、反码、补码总结 1.前言 昨天有粉丝让我讲解下定…

手推车式电缆故障定位系统

武汉凯迪正大一体化电缆故障高压发生器用于测试各种型号的380V,600V,10kV,35kV,110kV,220kV,380kV电压等级的铜铝芯电力电缆、同轴通信电缆和市话电缆的各类故障&#xff0c;如电缆全长、开路、短路、断线、低阻故障、高阻故障、高阻泄露、高低阻抗接地、接地故障、铠装接地故障…

工控一体机7寸显示器电容触摸屏(YR07JK)产品规格说明书

如果您对工控一体机有任何疑问或需求&#xff0c;或者对如何集成工控一体机到您的业务感兴趣&#xff0c;可移步控芯捷科技。 一、硬件功能介绍 1.1 YR07JK介绍 YR07JK工控机是我公司推出的一款新型 Cortex-A17 架构&#xff0c;主频达1.8GHz、具有高性能低能耗的工业控制板卡…