首页 > 其他分享 >unity 单元测试

unity 单元测试

时间:2023-02-24 00:12:45浏览次数:45  
标签:RUN void 单元测试 Unity unity test

unity 单元测试

Created: February 23, 2023 11:11 PM
Tags: C语言, stm32, 单元测试

概述

为了方便在stm32上进行单元测试,需要在项目中导入unity框架以便于对项目的单元测试。本章节将简单介绍如何使用Unity进行单元测试,更加详细的内容可以移步Unity的GitHub

安装步骤

step 1:下载unity的源代码

git clone https://github.com/ThrowTheSwitch/Unity

没有安装git的同学可以直接上github下载源代码,下载完成后,观察一下unity的目录结果。简单的使用只要关注SRC目录就行了。

step 2:整合Unity到项目中

简单的使用Unity只需要上述标记出来的三个文件导入项目中即可。为了方便管理我们可以在项目路径下创建一个test目录来存放这三个文件。注意如果是使用keil,需要在项目管理中添加文件。

step 3:定义setUp tearDown

将unity整合到我们的项目以后我们需要重新定义setUp, tearDown这两个函数,这两个函数是在Unity中声明的,不定义是无法编译成功的。我们可以新建一个文件unity_main.c文件来定义函数。下面给出unity_main.c的代码。

#include "unity.h"

#include "unity_main.h"
#include <stdio.h>

#include "kfifo_test.h"
#include "serial_test.h"

void setUp(void) {
    // set stuff up here
}

void tearDown(void) {
    // clean stuff up here
}

void test_function_should_doBlahAndBlah(void) {
    //test stuff
}

void test_function_should_doAlsoDoBlah(void) {
    //more test stuff
}

#ifdef STM32F030x8
int unity_main(void)
#else
int main(void) 
#endif
{
    UNITY_BEGIN();
    #if 0
    RUN_TEST(vKfifoPutGet);
    RUN_TEST(vkfifoPutNGetN);

    #ifdef STM32F030x8
    RUN_TEST(vSerialReadTest);
    RUN_TEST(vSerialWriteTest);
    #endif
    #else
    RUN_TEST(vSerialLoopbackTest);
    #endif
    return UNITY_END();
}

这样我们就可以开心的写测试用例了。RUN_TEST内的函数名是我写的一些测试样例就不一一展示,可以将其替换成自己的测试样例。更加详细的Unity的语法请移步官方文档。

标签:RUN,void,单元测试,Unity,unity,test
From: https://www.cnblogs.com/hxj568/p/17149939.html

相关文章

  • unity 3d导出安卓包时报错:A failure occurred while executing com.android.build.gra
    unity3d导出安卓包时报错:Afailureoccurredwhileexecutingcom.android.build.gradle.internal.tasks.workers$actionfacadeseetheconsolefordetails如下图网......
  • 【unity】NetCode
    前言之前接触过某些教程中的联机方案和直接用socket来做聊天室。这俩方案各有利弊。前者提供了现成的网络同步框架,用起来方便,从数据库读写、自定义通信协议到分层处理,很......
  • Unity UGUI系列九 Text TextMeshPro 详解
    参考[专栏精选]TextMeshPro插件TextMeshPro使用说明TextMeshPro中文字体生成和字体材质更换新一代Unity文本组件TextMeshPro系列教程【Unity学习笔记】TextMeshP......
  • Unity之Burst测试
    关于Burst,看下官方介绍:BurstisacompilerthatyoucanusewithUnity'sjobsystemtocreatecodethatenhancesandimprovesyourapplication'sperformance.It......
  • Unity中mesh 绘制正方体
    绘制正方体:用mesh自带的函数绘制://创建一个mesh网格Meshmesh=newMesh();//添加网格过滤器gameObject.AddComponent<MeshFilter>();......
  • 230222 Radiated Immunity Pre-compliance Test
    Helloeveryone,welcometoMach1DesignEMCchannel.Lasttimewetalkedabouthowtosetuparadiatedimmunitytestusingaverylowcostantennalikethis.......
  • Unity下简易字符串指令调试
    Unity下简易字符串指令调试输入相应的字符串命令即可调用特定的方法,比如让角色等级提升,生成特定数量的Boss等usingSystem;usingUnityEngine;usingSystem.Collectio......
  • 单元测试
    前一段时间加入到一个项目,里面涉及到的单元测试相对来说比较完善,之前的业务代码压根没涉及到单测,确实惊人简单了解了下,python有两个单元测试框架:unittest、pytest......
  • Unity Shader标准光照模型的实现
    1Shader"Custom/P_Illumination"2{3Properties{4_BasicColor("基础颜色",Color)=(1.0,1.0,1.0,1.0)5_SpecularColor("高光颜色",Colo......
  • Unity手机移动设备重力感应
    一、引入大家对重力感应应该都不陌生,之前玩过的王者荣耀的资源更新界面就是使用了重力感应的概念,根据手机的晃动来给实体进行晃动。下图的王者荣耀刚开始的界面其实就是使用......