如何使用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.pswp.cn/bicheng/19010.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19010.shtml
英文地址,請注明出處:http://en.pswp.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、具有高性能低能耗的工業控制板卡…