unity 單元測試
Created: February 23, 2023 11:11 PM
Tags: C語言, stm32, 單元測試
概述
為了方便在stm32上進(jìn)行單元測試,需要在項目中導(dǎo)入unity框架以便于對項目的單元測試。本章節(jié)將簡單介紹如何使用Unity進(jìn)行單元測試,更加詳細(xì)的內(nèi)容可以移步Unity的GitHub。
安裝步驟
step 1:下載unity的源代碼
git clone https://github.com/ThrowTheSwitch/Unity
沒有安裝git的同學(xué)可以直接上github下載源代碼,下載完成后,觀察一下unity的目錄結(jié)果。簡單的使用只要關(guān)注SRC目錄就行了。
step 2:整合Unity到項目中
簡單的使用Unity只需要上述標(biāo)記出來的三個文件導(dǎo)入項目中即可。為了方便管理我們可以在項目路徑下創(chuàng)建一個test目錄來存放這三個文件。注意如果是使用keil,需要在項目管理中添加文件。
step 3:定義setUp tearDown
將unity整合到我們的項目以后我們需要重新定義setUp, tearDown這兩個函數(shù),這兩個函數(shù)是在Unity中聲明的,不定義是無法編譯成功的。我們可以新建一個文件unity_main.c文件來定義函數(shù)。下面給出unity_main.c的代碼。文章來源:http://www.zghlxwxcb.cn/news/detail-734908.html
#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內(nèi)的函數(shù)名是我寫的一些測試樣例就不一一展示,可以將其替換成自己的測試樣例。更加詳細(xì)的Unity的語法請移步官方文檔。文章來源地址http://www.zghlxwxcb.cn/news/detail-734908.html
到了這里,關(guān)于unity 單元測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!