第二次軟體工程作業

来源:https://www.cnblogs.com/nbsdbk/archive/2019/04/13/10703256.html
-Advertisement-
Play Games

[toc] 練習自動單元測試技術 選擇開發工具 我選擇使用Visual Studio。 建立新工程 新工程work2 建立cpp和頭文件 cpp中的代碼如下 頭文件中的代碼 新建單元測試項目 右鍵點擊“解決方案” "添加" “新建項目” 緊接著在彈出的頁面選擇“本機單元測試項目 右鍵測試項目,然後選 ...


目錄

練習自動單元測試技術

選擇開發工具

我選擇使用Visual Studio。

建立新工程

新工程work2

建立cpp和頭文件

cpp中的代碼如下

#include<iostream>
#include"text.h"
using namespace std;

int text::add(int x, int y)
{
    return x + y;
}

int text::sub(int x, int y)
{
    return x - y;
}

int main()
{
    return 0;
}

頭文件中的代碼

#pragma once
class text {
public:
    int add(int x, int y);
    int sub(int x, int y);
}; 

新建單元測試項目

右鍵點擊“解決方案”->"添加"->“新建項目”

緊接著在彈出的頁面選擇“本機單元測試項目

右鍵測試項目,然後選擇屬性

選擇“鏈接器”->"輸入"->"選擇依賴項"

在編輯框中輸入“..\work2\Debug.*obj”

右鍵選中引用,點擊“添加引用”

勾選需要引用的項目,也就是需要測試的項目

編寫測試程式

打開unittest1.cpp,編寫代碼如下:

#include "stdafx.h"
#include "CppUnitTest.h"
#include "../work2/text.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest1
{       
    TEST_CLASS(UnitTest1)
    {
    public:
        
        TEST_METHOD(TestMethod1)
        {
            // TODO: 在此輸入測試代碼
            text a;
            int x = 8, y = 3;
            int z = a.add(x, y);
            int s = a.sub(x, y);
            Assert::AreEqual(z, 11);
            Assert::AreEqual(s, 5);
        }

    };
}

運行結果


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1 前言 由於Python的版本眾多,還有Python2和Python3的爭論,因此有些軟體包或第三方庫就容易出現版本不相容的問題。 通過 這個工具,就可以構建一系列 ,然後在每個環境中安裝需要的軟體包(配合 使用),這一系列的環境是相互隔離的。作為一個獨立的環境就不容易出現版本問題,還方便部署。 ...
  • 寫在前面:所有題目都是用python寫的,有一些題目懶得重頭寫,直接用python自帶的功能或庫造好的“輪子” 一、開始之前 1、只出現一次的數字 說明: 示例 1: 示例 2: 2、求眾數 示例 1: 示例 2: 3、搜索二維矩陣 II 示例: 現有矩陣 matrix 如下: [ [1, 4, 7 ...
  • 昨天補充: 編碼: Unicode ; utf-8 ; GBK 關係: 關鍵字:1. continue 終止當前迴圈,進行下一次迴圈 2. break 終止迴圈 題6解法2: 今日內容:Python的開發IDE—Pycharm IDE:Pycharm、eclipse pycharm比較好用點..>> ...
  • thinkphp框架,是一堆代碼(常量,方法,和類)的集合,框架是一個半成品的應用,還包含一些優秀的設計模式。 框架的使用,代碼風格不一樣,維護難,項目生命周期短,功能擴展存在局限,好處為,簡單,快捷,高效,不需要關註底層結構,專註於業務邏輯 zend framework,官方框架,yii框架,美國 ...
  • JVM 調優概述 性能定義 吞吐量 - 指不考慮 GC 引起的停頓時間或記憶體消耗,垃圾收集器能支撐應用達到的最高性能指標。 延遲 - 其度量標準是縮短由於垃圾啊收集引起的停頓時間或者完全消除因垃圾收集所引起的停頓,避免應用運行時發生抖動。 記憶體占用 - 垃圾收集器流暢運行所需要的記憶體數量。 調優原則 ...
  • 今天的文章是因為再給一個朋友講這個的時候隨手記錄下整理出來的。說白了就是把前輩們曾經給我吹過的我又吹了出去。 泛型:是C# FrameWork 2.0 時代 加入進來的,可以說對與Net開發人員來說泛型是無處不再的,喜歡看源碼的同學,可能會有發現,包括MVC裡面基本上也是有很多發泛型,還有很多設計模 ...
  • 索引: 目錄索引 一.API 列表 1.SetSegment 屬性,指示 根據條件 動態拼接 要修改的欄位 見如下示例. 二.API 單表-完整 方法 舉例 以 MySQL 為例,生成 SQL 如下: 蒙 2019-04-13 23:59 周六 ...
  • C# 創建、部署和調用WebService的簡單示例 webservice 可以用於分散式應用程式之間的交互,和不同程式之間的交互。 具體詳細用法可去查詢資料。下麵開始創建一個簡單的webservice的例子。這裡我用的是Visual Studio 2013開發工具。 首先創建一個空的Web應用程式 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...