樁程式和驅動程式

2022-08-13 03:15:11 字數 1518 閱讀 6501

樁模組和驅動模組(以c語言為例):

很多人對樁模組和驅動模組的概念會搞不清楚,那麼下面來介紹這兩個概念:

模組結構例項圖:

假設現在專案組把任務分給了7個人,每個人負責實現乙個模組。你負責的是b模組,你很優秀,第乙個完成了編碼工作,現在需要開展單元測試工作,先分析結構圖:

1、由於b模組不是最頂層模組,所以它一定不包含main函式(a模組包含main函式),也就不能獨立執行。

2、b模組呼叫了d模組和e模組,而目前d模組和e模組都還沒有開發好,那麼想讓b模組通過編譯器的編譯也是不可能的。

那麼怎樣才能測試b模組呢?需要做:

1、寫兩個模組sd和se分別代替d模組和e模組(函式名、返回值、傳遞的引數相同),這樣b模組就可以通過編譯了。sd模組和se模組就是樁模組。

2、寫乙個模組da用來代替a模組,裡面包含main函式,可以在main函式中呼叫b模組,讓b模組執行起來。da模組就是驅動模組。

知識點:

樁模組的使命除了使得程式能夠編譯通過之外,還需要模擬返回被代替的模組的各種可能返回值(什麼時候返回什麼值需要根據測試用例的情況來決定)。

驅動模組的使命就是根據測試用例的設計去呼叫被測試模組,並且判斷被測試模組的返回值是否與測試用例的預期結果相符

**載自

很多人對樁模組和驅動模組的概念會搞不清楚,那麼下面來介紹這兩個概念:

模組結構例項圖:

假設現在專案組把任務分給了7個人,每個人負責實現乙個模組。你負責的是b模組,你很優秀,第乙個完成了編碼工作,現在需要開展單元測試工作,先分析結構圖:

1、由於b模組不是最頂層模組,所以它一定不包含main函式(a模組包含main函式),也就不能獨立執行。

2、b模組呼叫了d模組和e模組,而目前d模組和e模組都還沒有開發好,那麼想讓b模組通過編譯器的編譯也是不可能的。

那麼怎樣才能測試b模組呢?需要做:

1、寫兩個模組sd和se分別代替d模組和e模組(函式名、返回值、傳遞的引數相同),這樣b模組就可以通過編譯了。sd模組和se模組就是樁模組。

2、寫乙個模組da用來代替a模組,裡面包含main函式,可以在main函式中呼叫b模組,讓b模組執行起來。da模組就是驅動模組。

知識點:

樁模組的使命除了使得程式能夠編譯通過之外,還需要模擬返回被代替的模組的各種可能返回值(什麼時候返回什麼值需要根據測試用例的情況來決定)。

驅動模組的使命就是根據測試用例的設計去呼叫被測試模組,並且判斷被測試模組的返回值是否與測試用例的預期結果相符

**載自

**載自

linux 驅動程式 高階字元驅動程式

ioctl方法 驅動程式的原型實現 int ioctl struct inode inode,struct file filp,unsigned int cmd,unsigned long arg ioctl 命令選擇 位段結構 number direction ioc read ioc write...

linux裝置驅動程式 字元裝置驅動程式

先留個 有一起學習驅動程式的加qq295699450 字元裝置驅動 這篇比較惱火。載入成功,但是讀不出來資料,有知道怎麼回事的,留個言,一起討論下 資料結構 struct scull mem struct scull dev dev 整個驅動程式 如下 include include include...

Linux裝置驅動程式 字元裝置驅動程式

1.檢視主裝置號,次裝置號 進入 dev目錄執行ls l,第四,五列分別為主次裝置號,10,180,1,5,這些是主裝置號,而60,63這些就是次裝置號 130 shell android dev ls l crw rw r system radio 10,60 1969 12 31 21 00 a...