两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種單元測試代碼生成方法及裝置的制作方法

文檔序號:6362880閱讀:219來源:國知局
專利名稱:一種單元測試代碼生成方法及裝置的制作方法
技術領域
本發(fā)明涉及單元測試技術,尤其涉及一種單元測試代碼生成方法及裝置。
背景技術
單元測試是集中對源代碼實現(xiàn)的每一個程序單元進行測試,檢測各個程序單元否正確地實現(xiàn)了規(guī)定的功能,以及檢查各程序模塊的返回值是否正確。單元測試檢測每一個控制結構的分支以確保完全覆蓋和最大可能的錯誤檢查。JUnit單元測試代碼則是指按一定規(guī)范進行編寫的單元測試代碼,對應的JUnit測試工具需要根據(jù)該JUnit單元測試代碼, 才能統(tǒng)計出覆蓋率、正確性、數(shù)據(jù)校驗等信息。單元測試是為了盡可能多的發(fā)現(xiàn)程序的錯誤。而發(fā)現(xiàn)錯誤,是為了修正錯誤,是需要對程序代碼進行修改的。每當程序代碼被修改的時候,程序配置的某些方面,例如文檔或者數(shù)據(jù),也會被修改。目前,當程序員編寫完項目代碼后,需要在源代碼中手動添加單元測試代碼來檢驗源代碼的正確性。這種方法需要修改大量的程序代碼,從而工作量大,耗時、重復性工作很大,從而使得編碼效率較低。

發(fā)明內(nèi)容
本發(fā)明實施例所要解決的技術問題在于,提供一種單元測試代碼生成方法及裝置,能夠自動生成模版化的單元測試代碼,降低程序員編寫代碼的工作量,提高了工作效率。為了解決上述技術問題,本發(fā)明實施例提供了一種單元測試代碼生成方法,包括
導入源代碼集,所述源代碼集包括至少一個源代碼文件;
根據(jù)所述源代碼集的目錄規(guī)則,依次獲取各個源代碼文件所包含的操作單元,以及與該操作單元對應的參數(shù)屬性;
當每獲取一個源代碼文件的操作單元以及對應的參數(shù)屬性后,獲取預先定義的配置文件中的單元測試代碼編寫規(guī)則;并根據(jù)所述單元測試代碼編寫規(guī)則和所述源代碼文件的操作單元和對應的參數(shù)屬性,生成對應的單元測試代碼。其中,所述源代碼文件為Java文件,所述單元測試代碼編寫規(guī)則為JUnit單元測試代碼編寫規(guī)則。其中,所述根據(jù)所述單元測試代碼編寫規(guī)則和所述源代碼文件的操作單元和對應的參數(shù)屬性,生成對應的單元測試代碼的步驟,具體包括
根據(jù)所述源代碼文件的目錄結構,生成對應目錄以及該目錄下的空白目標文件;
根據(jù)所述單元測試代碼編寫規(guī)則和所述源代碼文件的操作單元和對應的參數(shù)屬性,在所述空白的目標文件中生成單元測試代碼。其中,所述依次獲取各個源代碼文件所包含的操作單元,以及與操作單元對應的參數(shù)屬性具體包括
依次分析各個所述源代碼文件的結構,并根據(jù)Java語言反射機制對所述源代碼文件從上至下進行解釋,得到所述源代碼文件的多個操作單元,以及與每一個操作單元對應的參數(shù)屬性。其中,所述操作單元對應的參數(shù)屬性包括輸入?yún)?shù)、參數(shù)類型及返回值。其中,所述JUnit單元測試代碼編寫規(guī)則包括類名后置名詞為“Test”;操作單元名的前置名詞為“test” ;對應于該操作單元的測試函數(shù)無返回值。本發(fā)明還提供了一種單元測試代碼生成裝置,包括
源代碼集導入模塊,用于導入源代碼集,所述源代碼集包括至少一個源代碼文件;
源代碼文件屬性獲取模塊,用于根據(jù)所述源代碼集的目錄規(guī)則,依次獲取各個所述源代碼文件的操作單元,以及對應于所述操作單元的參數(shù)屬性;
代碼編寫規(guī)則獲取模塊,用于在所述源代碼文件屬性獲取模塊每獲取到一個源代碼文件的操作單元和對應的參數(shù)屬性時,獲取預先定義的配置文件中的單元測試代碼編寫規(guī)則;
代碼自動生成模塊,用于根據(jù)所述源代碼文件的操作單元、參數(shù)屬性和所述單元測試代碼編寫規(guī)則,生成對應的單元測試代碼。其中,所述源代碼文件為Java文件,所述單元測試代碼編寫規(guī)則為JUnit單元測試代碼編寫規(guī)則。其中,所述代碼自動生成模塊包括
文件生成子模塊,用于根據(jù)所述源代碼文件的目錄結構,生成對應目錄以及該目錄下的空白目標文件;
代碼生成子模塊,用于根據(jù)所述單元測試代碼編寫規(guī)則和所述源代碼文件的操作單元和對應的參數(shù)屬性,在所述空白的目標文件中生成單元測試代碼。其中,所述源代碼文件屬性獲取模塊包括
結構分析子模塊,用于分析所述源代碼文件的結構;
屬性獲取子模塊,用于根據(jù)Java語言反射機制對所述源代碼文件從上至下進行解釋, 得到所述源代碼文件的多個操作單元,以及每一個操作單元的參數(shù)屬性。實施本發(fā)明實施例,具有如下有益效果
本發(fā)明的單元測試代碼生成方法通過從預先定義的配置文件中獲取單元測試代碼編寫規(guī)則,再結合所獲取的源代碼文件的操作單元和對應的參數(shù)屬性,自動生成對應于該源代碼文件的單元測試代碼,使得當需要進行測試時,可直接將該單元測試代碼在JUnit軟件中執(zhí)行即可,從而不需要程序員手動來編寫單元測試代碼,使得程序員只需根據(jù)方法的實際要求,修改參數(shù)即可,進而降低了程序員的工作量;并且通過本發(fā)明實施例的方法及裝置生成的代碼,用JUnit軟件統(tǒng)計覆蓋正確性能夠達到20%左右,剩下的代碼自行做出小的參數(shù)修改就能正確執(zhí)行。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明的單元測試代碼生成方法的一實施例的流程圖2是本發(fā)明的單元測試代碼生成方法的一實施例中的配置文件的示意圖3是本發(fā)明的單元測試代碼生成方法的一實施例中源代碼的示意圖4是本發(fā)明的單元測試代碼生成方法的一實施例中生成的單元測試代碼的示意圖; 圖5是本發(fā)明的單元測試代碼生成裝置的一實施例的功能模塊圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。參見圖1,為本發(fā)明的單元測試代碼生成方法的一實施例的流程圖。具體實施時, 本發(fā)明實施例的單元測試代碼生成方法包括
S101,導入源代碼集,該源代碼集包括至少一個源代碼文件。具體實施時,首先在JUnit軟件中,創(chuàng)建一個項目工程,其次再將由多個源代碼文件組成的源代碼集導入該項目工程內(nèi)。在一具體實施例中,該源代碼文件為Java文件。S102,根據(jù)源代碼集的目錄規(guī)則,依次獲取各個源代碼文件的操作單元以及與該操作單元對應的參數(shù)屬性。具體實施時,由于被測試的源代碼集包括多個源代碼文件,即該源代碼集所在子目錄中包括了多個源代碼文件,從而可根據(jù)該子目錄中個存儲的源代碼文件的順序依次獲取各個源代碼文件的多個操作單元以及與操作單元對應的參數(shù)屬性。本實施例中“依次獲取”是指獲取到一個源代碼文件的操作單元和對應的參數(shù)屬性,并結合獲取的單元測試代碼編寫規(guī)則生成對應該源代碼文件的單元測試代碼后,遞歸到該源代碼文件所在子目錄, 再獲取下一個源代碼文件的操作單元和對應的參數(shù)屬性,并結合再次獲取的單元測試代碼編寫規(guī)則生成對應該下一個源代碼文件的單元測試代碼,直至生成對應于所有源代碼文件的單元測試代碼。本實施例中的“目錄規(guī)則”可以是實驗員根據(jù)項目需要進行設定的各個源代碼文件排列順序,也可以是按照各個源代碼文件的大小、修改時間等排列的順序。具體實施時,獲取各個源代碼文件的操作單元以及與該操作單元對應的參數(shù)屬性時,需要分析該源代碼文件的結構,并利用Java語言的反射機制自對該源代碼文件從上至下進行解釋,得到該源代碼文件包括的多個操作單元,以及每個操作單元的輸入?yún)?shù)、參數(shù)類型、返回值等參數(shù)屬性。本實施例中各該源代碼文件的操作單元是指該源代碼文件中實現(xiàn)一個功能的一段程序單元,參數(shù)屬性是指該程序單元包括的輸入?yún)?shù)/參數(shù)類型/返回值等,例如,一個源代碼文件中包括實現(xiàn)“加法”功能的一個程序單元,且該程序單元包括類型為整數(shù)的輸入?yún)?shù),并返回相加的結果,其中,該實現(xiàn)“加法”的程序單元即為操作單元。而由多個操作單元組成的集合為類,其對應的參數(shù)屬性即為類屬性,例如一個人為一個類,則該類的參數(shù)屬性包括高度、年齡等類屬性,而這個人執(zhí)行的“打電話”、“跑步”等操作即為一個操作單元 (或者方法)。S103,每當獲取一個源代碼文件的操作單元和對應的參數(shù)屬性后,獲取預先定義的配置文件中的單元測試代碼編寫規(guī)則。具體實施時,需要預先定義配置文件,該配置文件包括JUnit單元測試代碼編寫規(guī)則,即在步驟SlOl之前,需要預先定義配置文件,即將在 JUnit軟件中進行單元測試代碼編寫的規(guī)則統(tǒng)一歸納到該配置文件中;然后獲取該單元測試代碼編寫規(guī)則時再加載該配置文件,并獲取其中的JUnit單元測試代碼編寫規(guī)則。在一具體實施例中,該JUnit單元測試代碼編寫規(guī)則包括
類名的后置名詞為“Test”;
創(chuàng)建測試函數(shù)聲明;具體實施時,創(chuàng)建測試函數(shù)聲明包括操作單元名的前置名詞為 “test”,即為操作單元名添加前置名詞“test”,從而構成測試該操作單元的測試函數(shù)的函數(shù)名,參見圖2,該編寫規(guī)則在配置文件中如下“〈method_suffix>test〈/method_suffix> < !-測試函數(shù)前綴一>”,或者測試函數(shù)的后置名詞為“test”;對應該操作單元的測試函數(shù)無返回值、無輸入?yún)?shù),即測試函數(shù)必須聲明為“void”;在另一具體實施例中,還可包括在測試函數(shù)的上一行增加“Otest”,參見圖2中的“<method_JPA>@Test〈/method_JPA>” ; 預定義源代碼文件中的操作單元的輸入?yún)?shù)和預期結果,并調(diào)用源代碼文件中的操作單元。本發(fā)明實施例中的“預定義”是指源代碼文件的操作單元的輸入?yún)?shù)類型的默認值, 即Java中基本數(shù)據(jù)類型默認值。本實施例中Java的基本數(shù)據(jù)類型默認值為 short: O; int: O; long:0 ; float: O. O ; double: 0.0; char: (int) char=0 ; String:null ;
boolean: false ; Java中對象引用默認值為null。本實施例中的預期結果也為自定義默認值,即需要預先自定義一個該源代碼文件操作單元的返回值,即預期結果,從而通過比較所調(diào)用源代碼文件的操作單元后實際返回的結果,與該自定義預期結果是否一致,以驗證實際的源代碼文件中操作單元的執(zhí)行結果的正確性。本實施例中測試函數(shù)的內(nèi)部實現(xiàn)代碼實際上是調(diào)用源代碼文件中的操作單元,而調(diào)用源代碼文件中的操作單元時,需要傳入的參數(shù)是自定義默認值;并且需要預先自定義預期結果,從而通過比較所調(diào)用源代碼文件的操作單元后返回的結果,與測試前自定義預期結果是否一致,以驗證實際的源代碼文件中操作單元的執(zhí)行結果的正確性。S104,根據(jù)單元測試代碼編寫規(guī)則和源代碼文件的操作單元和對應的參數(shù)屬性, 生成對應的單元測試代碼。具體實施時,該步驟S104包括
根據(jù)該源代碼文件的目錄結構生成對應的目錄以及該目錄下的空白目標文件,且該空白目標文件的文件名后置名詞為“Test”。在一具體實施例中,首先分析該源代碼文件的目錄結構,得到該源代碼文件的目錄結構d /com/coship/ngod/a7/foldercontents/dao/ impl/GetFolderContentsDaoImpl. java,根據(jù)該目錄結構生成對應的目錄及該目錄下的空白目標文件,該目標文件的目錄結構為
d : / com/coship/ngod/a 7/foldercontents/dao/impl/ GetFoIderContentsDaoImpITest. java ;并且該目標文件的后置名詞為“Test”,即在被測試源代碼文件文件名的后面加上“Test ”。
根據(jù)單元測試代碼編寫規(guī)則和源代碼文件的操作單元和對應的參數(shù)屬性,在空白的源代碼文件中生成對應的單元測試代碼。參見圖3和圖4,分別為本發(fā)明實施例的部分 Java源代碼和生成的對應的單元測試代碼。其中,在被測試的Java源代碼文件的操作單元的名稱“getNGODAssetByAssetFileldO ”前添加“test”,從而構成測試函數(shù)的函數(shù)名,用于與被測試的該操作單元名稱相區(qū)分;同時在該測試函數(shù)名上一行添加了 “OTest”,用于聲明以下內(nèi)容為測試函數(shù),并且將該測試函數(shù)聲明為“void”,即該測試函數(shù)無返回值、無輸入?yún)?shù);“getNGODAssetByAssetFileId(assetFileId) ”為調(diào)用源代碼文件的一個操作單元,其輸入?yún)?shù)assetFileld自定義默認為O ;assertNotNull O為預定義結果不為空。當 JUint軟件執(zhí)行該生成的單元測試代碼時,比較是否該源代碼文件的該操作單元的執(zhí)行結果Integer是否為空,若不為空,即與預期結果相同,則該源代碼文件的該操作單元“getNG ODAssetByAssetFileId(assetFileld) ” 正確。本發(fā)明的單元測試代碼生成方法通過每獲取一個源代碼文件的參數(shù)屬性以及操作單元時,再從該配置文件中獲取單元測試代碼編寫規(guī)則,并結合這三者自動生成對應于該源代碼文件的單元測試代碼,再遞歸到該源代碼文件所在子目錄,即源代碼集目錄下,獲取下一個源代碼文件的操作單元以及對應的參數(shù)屬性,同時再次獲取單元測試代碼編寫規(guī)則,并結合三者自動生成對應單元測試代碼,直至生成對應于所述源代碼文件的單元測試代碼為止。本發(fā)明實施例的單元測試代碼生成方法通過結合配置文件中的單元測試代碼編寫規(guī)則,以及源代碼文件的操作單元和對應的參數(shù)屬性來自動生成模板化的單元測試代碼,使得當需要進行測試時,可直接將該生成的單元測試代碼在JUnit軟件中執(zhí)行即可,從而不需要程序員手動來編寫單元測試代碼,使得程序員只需根據(jù)方法的實際要求,修改參數(shù)即可,進而降低了程序員的工作量;并且通過本發(fā)明實施例的方法生成的代碼,用JUnit 軟件統(tǒng)計覆蓋正確性能夠達到20%左右,剩下的代碼自行做出小的參數(shù)修改就能正確執(zhí)行?;谏鲜龅膯卧獪y試代碼生成方法,本發(fā)明還提供了一種單元測試代碼生成裝置,下面結合附圖對本發(fā)明實施例的單元測試代碼生成系統(tǒng)進行詳細的說明。參見圖5,為本發(fā)明的單元測試代碼生成裝置的一實施例的功能模塊圖。具體實施時,本發(fā)明實施例的單元測試代碼生成裝置包括
被測試集導入模塊11,用于導入源代碼集,該源代碼集包括至少一個源代碼文件;在一具體實施例中,源代碼文件為Java文件;
源代碼文件屬性獲取模塊12,用于根據(jù)所述源代碼集的目錄規(guī)則,依次獲取各個源代碼文件的操作單元以及對應的參數(shù)屬性;具體實施時,該源代碼文件屬性獲取模塊12獲取到一個源代碼文件的操作單元和對應的參數(shù)屬性后,等待生成對應的單元測試代碼,當生成對應于該源代碼文件的單元測試代碼后,該源代碼文件屬性獲取模塊12采用遞歸的方式遞歸到該源代碼文件所在子目錄,再順序獲取下一個源代碼文件的操作單元和對應的參數(shù)屬性直至生成對應于該子目錄下所有源代碼文件的單元測試代碼;具體實施時,該源代碼屬性獲取模塊包括
結構分析子模塊,用于分析源代碼文件的結構;
屬性獲取子模塊,用于根據(jù)Java語言反射機制對源代碼文件從上至下進行解釋,得到該源代碼文件的多個操作單元,以及每個操作單元的輸入?yún)?shù)、參數(shù)類型和返回值等參數(shù)
8屬性;
代碼編寫規(guī)則獲取模塊13,用于在源代碼文件屬性獲取模塊每獲取到一個源代碼文件的操作單元以及對應的參數(shù)屬性時,獲取該預先定義的配置文件中的單元測試代碼編寫規(guī)則;在一具體實施例中,該單元測試代碼編寫規(guī)則為JUnit單元測試代碼編寫規(guī)則;
代碼自動生成模塊14,用于根據(jù)源代碼文件的操作單元、參數(shù)屬性和單元測試代碼編寫規(guī)則,生成對應的單元測試代碼。具體實施時,本發(fā)明實施例的該代碼自動生成模塊14 包括
文件生成子模塊,用于根據(jù)源代碼文件的目錄結構,生成對應的目錄及該目錄下的空白目標文件;在一具體實施例中,生成的該空白目標文件的文件名名稱也采用對應的被測試源代碼文件名稱;
代碼生成子模塊,用于根據(jù)單元測試代碼編寫規(guī)則和源代碼文件的操作單元以及對應的參數(shù)屬性,在該空白的目標文件中生成單元測試代碼。在另一具體實施例中,本發(fā)明實施例的單元測試代碼生成裝置還包括配置文件模塊,用于預先定義配置文件,該配置文件包含JUnit單元測試代碼編寫規(guī)則;在一具體實施例中,該JUnit單元測試代碼編寫規(guī)則包括
類名后置名詞為“Test”;
創(chuàng)建測試函數(shù)聲明;具體實施時,創(chuàng)建測試函數(shù)聲明包括測試函數(shù)無返回值、無輸入?yún)?shù),即測試函數(shù)必須聲明為“void”,即無返回值;操作單元名的前置名詞為“test” ;在另一具體實施例中,還可包括在測試函數(shù)的上一行增加“Otest” ;
預定義源代碼文件中的操作單元的輸入?yún)?shù)和預期結果,并調(diào)用源代碼文件中的操作單元。本實施例中“預定義”是指源代碼文件的操作單元的輸入?yún)?shù)類型的默認值,即Java 中基本數(shù)據(jù)類型默認值。Java的基本數(shù)據(jù)類型默認值為
short: O;int: O;long:0 ;float: 0.0;double: 0.0;
char: (int)char=0; String:null ; boolean: false ; 并且Java中對象引用默認值為null。本實施例中測試函數(shù)的內(nèi)部實現(xiàn)代碼實際上是調(diào)用源代碼文件中的操作單元,而調(diào)用源代碼文件中的操作單元時,需要傳入的參數(shù)是自定義默認值;
預期結果也為自定義默認值,即需要預先自定義該源代碼文件操作單元的返回值,即預期結果,從而通過比較所調(diào)用源代碼文件的操作單元后返回的結果,與該自定義預期結果是否一致,以驗證實際的源代碼文件中操作單元的執(zhí)行結果的正確性。本發(fā)明實施例的單元測試代碼生成裝置通過代碼編寫規(guī)則獲取模塊從配置文件中獲取單元測試代碼編寫規(guī)則,以及由源代碼文件屬性獲取模塊獲取的源代碼文件的操作單元和對應的參數(shù)屬性,再由代碼自動生成模塊結合單元測試代碼編寫規(guī)則和源代碼文件的操作單元和參數(shù)屬性來自動生成對應于該源代碼文件的單元測試代碼,從而當需要進行測試時,可直接將該單元測試代碼在JUnit軟件中執(zhí)行即可,不需要程序員手動來編寫單元測試代碼,使得程序員只需根據(jù)方法的實際要求,修改參數(shù)即可,進而降低了程序員的工作量;并且通過本發(fā)明實施例的方法及裝置生成的代碼,用JUnit軟件統(tǒng)計覆蓋正確性能夠達到20%左右,剩下的代碼自行做出小的參數(shù)修改就能正確執(zhí)行。以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權利范圍,本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分流程,并依本發(fā)明權利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。
權利要求
1.一種單元測試代碼生成方法,其特征在于,包括導入源代碼集,所述源代碼集包括至少一個源代碼文件;根據(jù)所述源代碼集的目錄規(guī)則,依次獲取各個源代碼文件所包含的操作單元,以及與該操作單元對應的參數(shù)屬性;當每獲取一個源代碼文件的操作單元以及對應的參數(shù)屬性后,獲取預先定義的配置文件中的單元測試代碼編寫規(guī)則;并根據(jù)所述單元測試代碼編寫規(guī)則和所述源代碼文件的操作單元和該操作單元對應的參數(shù)屬性,生成對應的單元測試代碼。
2.如權利要求I所述的單元測試代碼生成方法,其特征在于,所述源代碼文件為Java 文件,所述單元測試代碼編寫規(guī)則為JUnit單元測試代碼編寫規(guī)則。
3.如權利要求I所述的單元測試代碼生成方法,其特征在于,所述根據(jù)所述單元測試代碼編寫規(guī)則和所述源代碼文件的操作單元和該操作單元對應的參數(shù)屬性,生成對應的單元測試代碼的步驟,具體包括根據(jù)所述源代碼文件的目錄結構,生成對應目錄及該目錄下的空白目標文件;根據(jù)所述單元測試代碼編寫規(guī)則和所述源代碼文件的操作單元和對應的參數(shù)屬性,在所述空白的目標文件中生成單元測試代碼。
4.如權利要求2所述的單元測試代碼生成方法,其特征在于,所述依次獲取各個源代碼文件所包含的操作單元,以及與該操作單元對應的參數(shù)屬性具體包括依次分析各個所述源代碼文件的結構,并根據(jù)Java語言反射機制對所述源代碼文件從上至下進行解釋,得到所述源代碼文件的多個操作單元,以及與每一個操作單元對應的參數(shù)屬性。
5.如權利要求4所述的單元測試代碼生成方法,其特征在于,所述操作單元對應的參數(shù)屬性包括輸入?yún)?shù)、參數(shù)類型及返回值。
6.如權利要求2或4或5所述的單元測試代碼生成方法,其特征在于,所述JUnit單元測試代碼編寫規(guī)則包括類名后置名詞為“Test” ;操作單元名的前置名詞為“test” ;對應于該操作單元的測試函數(shù)無返回值。
7.—種單元測試代碼生成裝置,其特征在于,包括源代碼集導入模塊,用于導入源代碼集,所述源代碼集包括至少一個源代碼文件;源代碼文件屬性獲取模塊,用于根據(jù)所述源代碼集的目錄規(guī)則,依次獲取各個所述源代碼文件的操作單元,以及對應于所述操作單元的參數(shù)屬性;代碼編寫規(guī)則獲取模塊,用于在所述源代碼文件屬性獲取模塊每獲取到一個源代碼文件的操作單元和對應的參數(shù)屬性時,獲取預先定義的配置文件中的單元測試代碼編寫規(guī)則;代碼自動生成模塊,用于根據(jù)所述源代碼文件的操作單元、參數(shù)屬性和所述單元測試代碼編寫規(guī)則,生成對應的單元測試代碼。
8.如權利要求7所述的單元測試代碼生成裝置,其特征在于,所述源代碼文件為Java 文件,所述單元測試代碼編寫規(guī)則為JUnit單元測試代碼編寫規(guī)則。
9.如權利要求7所述的單元測試代碼生成裝置,其特征在于,所述代碼自動生成模塊包括文件生成子模塊,用于根據(jù)所述源代碼文件的目錄結構,生成對應目錄以及該目錄下的空白目標文件;代碼生成子模塊,用于根據(jù)所述單元測試代碼編寫規(guī)則和所述源代碼文件的操作單元和對應的參數(shù)屬性,在所述空白的目標文件中生成單元測試代碼。
10.如權利要求8所述的單元測試代碼生成裝置,其特征在于,所述源代碼文件屬性獲取模塊包括結構分析子模塊,用于分析所述源代碼文件的結構;屬性獲取子模塊,用于根據(jù)Java語言反射機制對所述源代碼文件從上至下進行解釋, 得到所述源代碼文件的多個操作單元,以及每一個操作單元的參數(shù)屬性。
全文摘要
本發(fā)明公開了一種單元測試代碼生成方法及裝置。本發(fā)明實施例的單元測試代碼生成方法通過獲取源代碼文件的操作單元和對應的參數(shù)屬性,并獲取配置文件中的單元測試代碼編寫規(guī)則,再結合這三者自動生成對應于該源代碼文件的單元測試代碼,使得當需要進行測試時,可直接將生成的該單元測試代碼在JUnit軟件中執(zhí)行即可,從而不需要程序員手動來編寫單元測試代碼,使得程序員只需根據(jù)方法的實際要求,修改參數(shù)即可,進而降低了程序員的工作量;并且通過本發(fā)明實施例的方法及裝置生成的代碼,用JUnit軟件統(tǒng)計覆蓋正確性能夠達到20%左右,剩下的代碼自行做出小的參數(shù)修改就能正確執(zhí)行。
文檔編號G06F11/36GK102591777SQ20121000544
公開日2012年7月18日 申請日期2012年1月10日 優(yōu)先權日2012年1月10日
發(fā)明者何振飛, 鄧勇 申請人:深圳市同洲視訊傳媒有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
久久久久网色| 午夜免费男女啪啪视频观看| 欧美日本视频| 黄色配什么色好看| 一区在线观看完整版| 舔av片在线| 国产男女内射视频| 最近的中文字幕免费完整| 成人美女网站在线观看视频| 高清午夜精品一区二区三区| 亚州av有码| 久久久午夜欧美精品| 亚洲色图av天堂| 少妇的逼水好多| 国产在线视频一区二区| 亚洲av日韩在线播放| www.色视频.com| 亚洲aⅴ乱码一区二区在线播放| 麻豆精品久久久久久蜜桃| 国产欧美日韩精品一区二区| 人妻一区二区av| 男女啪啪激烈高潮av片| 国产精品精品国产色婷婷| 亚洲人与动物交配视频| 午夜免费男女啪啪视频观看| 国产一区二区三区av在线| 亚洲精品国产成人久久av| 热99国产精品久久久久久7| 新久久久久国产一级毛片| 伦理电影大哥的女人| 久久国产乱子免费精品| 91精品国产国语对白视频| 精品人妻熟女av久视频| 青春草视频在线免费观看| 肉色欧美久久久久久久蜜桃| 大片电影免费在线观看免费| 国产美女午夜福利| 日韩在线高清观看一区二区三区| 久久国产乱子免费精品| 六月丁香七月| 高清在线视频一区二区三区| 亚洲国产高清在线一区二区三| 日本vs欧美在线观看视频 | 能在线免费看毛片的网站| 熟妇人妻不卡中文字幕| 精品国产露脸久久av麻豆| 精品久久久久久电影网| 美女cb高潮喷水在线观看| av在线app专区| 久久精品国产亚洲网站| 日韩免费高清中文字幕av| 51国产日韩欧美| 狠狠精品人妻久久久久久综合| 美女中出高潮动态图| 欧美最新免费一区二区三区| av在线观看视频网站免费| 精品久久久久久久久亚洲| 在线观看三级黄色| 国产精品精品国产色婷婷| 卡戴珊不雅视频在线播放| 老司机影院成人| 天堂俺去俺来也www色官网| 18禁动态无遮挡网站| 久久这里有精品视频免费| 蜜桃在线观看..| h日本视频在线播放| 国产女主播在线喷水免费视频网站| 亚洲真实伦在线观看| 精品久久久久久电影网| 成人特级av手机在线观看| 人人妻人人添人人爽欧美一区卜 | 欧美极品一区二区三区四区| 国产精品麻豆人妻色哟哟久久| 欧美日本视频| 久久久久精品久久久久真实原创| av国产精品久久久久影院| 嘟嘟电影网在线观看| 十八禁网站网址无遮挡 | 高清不卡的av网站| 国产成人精品一,二区| 日本黄大片高清| 国产亚洲91精品色在线| 国产精品国产三级国产专区5o| 国产毛片在线视频| 免费播放大片免费观看视频在线观看| 婷婷色综合www| 国产免费又黄又爽又色| 汤姆久久久久久久影院中文字幕| 久久6这里有精品| 午夜精品国产一区二区电影| 亚洲电影在线观看av| 爱豆传媒免费全集在线观看| 久久人人爽人人片av| 91精品一卡2卡3卡4卡| 免费人妻精品一区二区三区视频| 在线观看美女被高潮喷水网站| 久热久热在线精品观看| 黄色一级大片看看| 各种免费的搞黄视频| 毛片女人毛片| 18+在线观看网站| 国产精品福利在线免费观看| 亚洲高清免费不卡视频| h视频一区二区三区| 婷婷色麻豆天堂久久| 天堂8中文在线网| 亚洲av不卡在线观看| 三级经典国产精品| 一级a做视频免费观看| 97精品久久久久久久久久精品| 熟女av电影| 日本色播在线视频| 久久国内精品自在自线图片| 日韩成人伦理影院| 日韩精品有码人妻一区| 日本一二三区视频观看| 欧美日本视频| 日日撸夜夜添| 人妻系列 视频| 人妻制服诱惑在线中文字幕| 大码成人一级视频| 亚洲精品成人av观看孕妇| 日日摸夜夜添夜夜添av毛片| 精品国产乱码久久久久久小说| 99久久综合免费| 国产 一区 欧美 日韩| 我的老师免费观看完整版| 亚洲精品国产色婷婷电影| 一级黄片播放器| 久久久久久久久久成人| 十分钟在线观看高清视频www | 欧美3d第一页| 亚洲电影在线观看av| 一级毛片 在线播放| 国产亚洲91精品色在线| 九草在线视频观看| 老司机影院毛片| 久久久久久久久久成人| 全区人妻精品视频| 在线看a的网站| 两个人的视频大全免费| 天天躁夜夜躁狠狠久久av| 99久久中文字幕三级久久日本| 一级二级三级毛片免费看| 国产精品熟女久久久久浪| 欧美极品一区二区三区四区| 欧美老熟妇乱子伦牲交| 成人毛片a级毛片在线播放| 日韩大片免费观看网站| 国产男人的电影天堂91| 亚洲,一卡二卡三卡| 欧美xxxx性猛交bbbb| 又黄又爽又刺激的免费视频.| 日韩在线高清观看一区二区三区| 大话2 男鬼变身卡| 最新中文字幕久久久久| 少妇裸体淫交视频免费看高清| 少妇熟女欧美另类| 久久婷婷青草| 日产精品乱码卡一卡2卡三| 亚洲aⅴ乱码一区二区在线播放| 免费黄频网站在线观看国产| 国产乱人视频| 亚洲国产最新在线播放| 99久久精品一区二区三区| 亚洲美女黄色视频免费看| 国产精品久久久久久av不卡| 精品亚洲成a人片在线观看 | 女性被躁到高潮视频| 亚洲国产精品999| 成人国产麻豆网| 在线免费十八禁| av视频免费观看在线观看| 亚洲天堂av无毛| 国产在视频线精品| 高清视频免费观看一区二区| 亚洲av不卡在线观看| 欧美日韩综合久久久久久| 亚洲精品色激情综合| 在线免费观看不下载黄p国产| 人妻制服诱惑在线中文字幕| 日韩三级伦理在线观看| 成人无遮挡网站| 亚洲av在线观看美女高潮| 久久久欧美国产精品| 久久国产精品男人的天堂亚洲 | 人妻一区二区av| freevideosex欧美| 多毛熟女@视频| 春色校园在线视频观看| 国产大屁股一区二区在线视频| 一个人看的www免费观看视频| 亚洲精品日韩av片在线观看| 综合色丁香网| 亚洲成人一二三区av| 亚洲无线观看免费| 97超视频在线观看视频| a级毛色黄片| 亚洲,欧美,日韩| 中文欧美无线码| 一区二区三区四区激情视频| 99热全是精品| 超碰av人人做人人爽久久| 麻豆国产97在线/欧美| 在线观看三级黄色| 各种免费的搞黄视频| 亚洲高清免费不卡视频| 亚洲精品国产av蜜桃| 国产成人freesex在线| av播播在线观看一区| 亚州av有码| 精品久久久精品久久久| 丝瓜视频免费看黄片| 国产在线免费精品| 久久久久精品久久久久真实原创| 啦啦啦中文免费视频观看日本| 干丝袜人妻中文字幕| 国产伦理片在线播放av一区| 亚洲一区二区三区欧美精品| a级毛片免费高清观看在线播放| 男人爽女人下面视频在线观看| 欧美一级a爱片免费观看看| 人妻夜夜爽99麻豆av| 日本猛色少妇xxxxx猛交久久| 久久精品夜色国产| 亚洲性久久影院| 91午夜精品亚洲一区二区三区| 激情 狠狠 欧美| 成人二区视频| 女性生殖器流出的白浆| 国产伦精品一区二区三区视频9| 王馨瑶露胸无遮挡在线观看| 久久久久久久亚洲中文字幕| 91久久精品电影网| 成人漫画全彩无遮挡| 久久精品国产亚洲网站| 内射极品少妇av片p| 亚洲美女视频黄频| 久久国内精品自在自线图片| 午夜免费观看性视频| 久久99蜜桃精品久久| 91精品国产国语对白视频| 亚洲av成人精品一区久久| 亚洲色图av天堂| 女人久久www免费人成看片| 国产伦精品一区二区三区视频9| 老司机影院成人| 久久精品国产亚洲av涩爱| 最新中文字幕久久久久| 国产精品熟女久久久久浪| 欧美人与善性xxx| 亚洲国产av新网站| 亚洲欧美一区二区三区国产| 99热这里只有精品一区| 日日摸夜夜添夜夜添av毛片| 日韩精品有码人妻一区| 亚洲精品国产av成人精品| 男人添女人高潮全过程视频| 成人黄色视频免费在线看| 我要看黄色一级片免费的| 99热这里只有是精品50| 欧美精品一区二区大全| 自拍欧美九色日韩亚洲蝌蚪91 | 在线观看美女被高潮喷水网站| 欧美成人精品欧美一级黄| 看十八女毛片水多多多| 色婷婷av一区二区三区视频| 国产在视频线精品| 一级毛片aaaaaa免费看小| 亚洲av中文av极速乱| 嫩草影院新地址| 久久精品国产亚洲av天美| 精品熟女少妇av免费看| 九色成人免费人妻av| 少妇人妻精品综合一区二区| 日韩,欧美,国产一区二区三区| 日本wwww免费看| 成年人午夜在线观看视频| 在线播放无遮挡| 欧美bdsm另类| 夜夜骑夜夜射夜夜干| 国产欧美日韩精品一区二区| 国产精品无大码| 人妻少妇偷人精品九色| 我的老师免费观看完整版| 国产免费一区二区三区四区乱码| 伦理电影大哥的女人| 欧美一区二区亚洲| 97超碰精品成人国产| 欧美精品国产亚洲| 直男gayav资源| 欧美日韩在线观看h| 黄色视频在线播放观看不卡| 91久久精品电影网| 国产精品久久久久久精品电影小说 | 草草在线视频免费看| 欧美3d第一页| 婷婷色麻豆天堂久久| 亚洲国产色片| 你懂的网址亚洲精品在线观看| 日日摸夜夜添夜夜爱| 91狼人影院| 黑人猛操日本美女一级片| 在线观看一区二区三区激情| 日韩制服骚丝袜av| 亚洲av在线观看美女高潮| 婷婷色综合大香蕉| 亚洲精品456在线播放app| 亚洲av中文av极速乱| 国产淫片久久久久久久久| 高清午夜精品一区二区三区| 日韩免费高清中文字幕av| 国产黄片美女视频| 亚洲婷婷狠狠爱综合网| 亚洲国产色片| 亚洲av欧美aⅴ国产| 午夜福利影视在线免费观看| 色网站视频免费| 美女福利国产在线 | 国产成人精品婷婷| 美女中出高潮动态图| 亚州av有码| 欧美高清性xxxxhd video| 日本午夜av视频| 韩国高清视频一区二区三区| 中文欧美无线码| 韩国av在线不卡| 高清黄色对白视频在线免费看 | 一个人免费看片子| 中国三级夫妇交换| 国产日韩欧美在线精品| 在线观看三级黄色| 免费人成在线观看视频色| 国内揄拍国产精品人妻在线| 亚洲人成网站在线播| 两个人的视频大全免费| 丰满迷人的少妇在线观看| 午夜激情福利司机影院| 国产视频内射| 老女人水多毛片| 久久久久久九九精品二区国产| 国产精品女同一区二区软件| 国产乱人偷精品视频| 大陆偷拍与自拍| 中国国产av一级| 亚洲图色成人| 熟女电影av网| 国产国拍精品亚洲av在线观看| 狂野欧美激情性bbbbbb| 色5月婷婷丁香| 99热国产这里只有精品6| 大香蕉97超碰在线| 欧美+日韩+精品| 97超视频在线观看视频| 亚洲成人一二三区av| 日本黄大片高清| 国产高清有码在线观看视频| 又黄又爽又刺激的免费视频.| 国产精品成人在线| 大香蕉97超碰在线| 亚洲欧美日韩东京热| 少妇的逼好多水| 蜜桃久久精品国产亚洲av| 中文字幕av成人在线电影| 亚洲aⅴ乱码一区二区在线播放| h视频一区二区三区| 亚洲av成人精品一二三区| 亚洲精品国产av蜜桃| 黄片wwwwww| 欧美日韩亚洲高清精品| 少妇人妻 视频| 熟妇人妻不卡中文字幕| 亚洲av.av天堂| 涩涩av久久男人的天堂| 亚洲av福利一区| 国产日韩欧美在线精品| 亚洲欧洲日产国产| 亚洲精品一二三| 伦理电影免费视频| 久久亚洲国产成人精品v| 欧美性感艳星| 欧美激情极品国产一区二区三区 | 人妻一区二区av| 在线观看美女被高潮喷水网站| 欧美+日韩+精品| 91在线精品国自产拍蜜月| 免费大片黄手机在线观看| 一区二区三区四区激情视频| 人人妻人人澡人人爽人人夜夜| 国产免费一区二区三区四区乱码| 精品熟女少妇av免费看| 欧美精品亚洲一区二区| 亚洲一区二区三区欧美精品| 国产精品久久久久久精品古装| av国产免费在线观看| 欧美 日韩 精品 国产| 在线观看一区二区三区| 伊人久久国产一区二区| 各种免费的搞黄视频| 大又大粗又爽又黄少妇毛片口| 午夜激情久久久久久久| 成人午夜精彩视频在线观看| 18禁在线播放成人免费| 少妇高潮的动态图| 能在线免费看毛片的网站| 肉色欧美久久久久久久蜜桃| 黄色视频在线播放观看不卡| 亚洲av中文av极速乱| 国产片特级美女逼逼视频| 人体艺术视频欧美日本| 91久久精品国产一区二区成人| 综合色丁香网| 99热这里只有是精品50| 日本av免费视频播放| 久久国内精品自在自线图片| 国产在线视频一区二区| 国产亚洲欧美精品永久| 亚洲精品国产av蜜桃| 国产乱人视频| 性色avwww在线观看| 亚洲,欧美,日韩| 精品午夜福利在线看| 国产精品久久久久久久久免| av网站免费在线观看视频| 天天躁日日操中文字幕| 蜜桃在线观看..| 五月玫瑰六月丁香| 国产久久久一区二区三区| 国产精品国产三级专区第一集| 免费观看的影片在线观看| 九草在线视频观看| 久久久久人妻精品一区果冻| 久久久久久久久久久丰满| 亚洲欧美精品专区久久| 国产片特级美女逼逼视频| 久久精品人妻少妇| 国产v大片淫在线免费观看| 九九久久精品国产亚洲av麻豆| 丝袜喷水一区| 亚洲精品国产色婷婷电影| 内射极品少妇av片p| 六月丁香七月| 纵有疾风起免费观看全集完整版| 秋霞在线观看毛片| 日韩精品有码人妻一区| 国产免费又黄又爽又色| 欧美性感艳星| 久久久久久久久久人人人人人人| 亚洲欧美中文字幕日韩二区| 国产午夜精品久久久久久一区二区三区| 男女啪啪激烈高潮av片| 啦啦啦啦在线视频资源| 日本vs欧美在线观看视频 | 日韩,欧美,国产一区二区三区| 好男人视频免费观看在线| 国产成人精品久久久久久| 国产中年淑女户外野战色| 亚洲成人中文字幕在线播放| 丝袜喷水一区| 激情 狠狠 欧美| 大香蕉久久网| 在现免费观看毛片| 街头女战士在线观看网站| 熟妇人妻不卡中文字幕| 久久人人爽人人爽人人片va| 欧美人与善性xxx| 18禁在线无遮挡免费观看视频| 三级国产精品欧美在线观看| 日韩一区二区三区影片| 日韩精品有码人妻一区| 久久精品熟女亚洲av麻豆精品| 亚洲国产精品一区三区| 老司机影院毛片| 亚洲国产色片| 日本午夜av视频| 精品亚洲成国产av| 国产高清国产精品国产三级 | 色婷婷久久久亚洲欧美| 欧美亚洲 丝袜 人妻 在线| 香蕉精品网在线| 日本vs欧美在线观看视频 | 午夜福利在线在线| 国产深夜福利视频在线观看| 国产精品国产三级国产av玫瑰| 欧美变态另类bdsm刘玥| 国精品久久久久久国模美| 日本-黄色视频高清免费观看| 99热全是精品| 麻豆国产97在线/欧美| 久久av网站| 国产精品久久久久久av不卡| av网站免费在线观看视频| 国产一级毛片在线| 菩萨蛮人人尽说江南好唐韦庄| 一级毛片aaaaaa免费看小| 校园人妻丝袜中文字幕| 免费av不卡在线播放| 成年人午夜在线观看视频| 国产一区二区三区av在线| 精品亚洲成国产av| 成人18禁高潮啪啪吃奶动态图 | videos熟女内射| 夫妻午夜视频| 国产在线免费精品| 在线免费十八禁| 亚洲成人中文字幕在线播放| 免费少妇av软件| 国产综合精华液| 你懂的网址亚洲精品在线观看| 久久人人爽人人片av| 亚洲精品日韩av片在线观看| 亚洲第一av免费看| 久久久久久久精品精品| 寂寞人妻少妇视频99o| 超碰97精品在线观看| 亚洲av男天堂| 日日摸夜夜添夜夜添av毛片| 一本久久精品| 国产精品国产三级专区第一集| 老熟女久久久| 久久ye,这里只有精品| 波野结衣二区三区在线| 国产黄色视频一区二区在线观看| 26uuu在线亚洲综合色| 免费人成在线观看视频色| 国产av国产精品国产| 国产高潮美女av| 欧美极品一区二区三区四区| 国产亚洲午夜精品一区二区久久| www.av在线官网国产| 简卡轻食公司| 搡女人真爽免费视频火全软件| 亚洲av中文字字幕乱码综合| 亚洲婷婷狠狠爱综合网| 2022亚洲国产成人精品| 又爽又黄a免费视频| 我要看日韩黄色一级片| 夜夜看夜夜爽夜夜摸| 性色av一级| 国产欧美另类精品又又久久亚洲欧美| 久久精品国产亚洲av涩爱| 色婷婷久久久亚洲欧美| 欧美bdsm另类| 亚洲av中文字字幕乱码综合| 欧美xxxx黑人xx丫x性爽| 亚洲精品自拍成人| 久久久久久久久久久丰满| 久久久久人妻精品一区果冻| 全区人妻精品视频| 亚洲精品456在线播放app| 午夜激情久久久久久久| 女性生殖器流出的白浆| 国产中年淑女户外野战色| 亚洲av.av天堂| 人人妻人人爽人人添夜夜欢视频 | 日本黄色片子视频| 一本—道久久a久久精品蜜桃钙片| 熟女av电影| 毛片女人毛片| 3wmmmm亚洲av在线观看| 国产av一区二区精品久久 | 大香蕉久久网| 少妇人妻精品综合一区二区| av免费在线看不卡| 高清视频免费观看一区二区| 五月天丁香电影| 视频区图区小说| 蜜桃在线观看..| 高清欧美精品videossex| 国产午夜精品久久久久久一区二区三区| 国产成人精品一,二区| 国精品久久久久久国模美| 日韩人妻高清精品专区| av在线app专区| 黄色怎么调成土黄色| 国产免费一级a男人的天堂| 中文字幕制服av| 伦理电影免费视频| 免费观看av网站的网址| 在线亚洲精品国产二区图片欧美 | 国产男人的电影天堂91| 女人久久www免费人成看片| 一级黄片播放器| 国产欧美另类精品又又久久亚洲欧美| 看免费成人av毛片| 久久精品夜色国产| 一本色道久久久久久精品综合| 亚洲最大成人中文| 久久久久国产精品人妻一区二区| 色吧在线观看| 国产探花极品一区二区| 国产美女午夜福利| 日韩大片免费观看网站| 黄色配什么色好看| 韩国av在线不卡| 在线观看三级黄色| 亚洲av二区三区四区| 欧美丝袜亚洲另类| 国产亚洲91精品色在线| 久久女婷五月综合色啪小说| 干丝袜人妻中文字幕| 夫妻午夜视频| 欧美日韩一区二区视频在线观看视频在线| 欧美日韩亚洲高清精品| 国产亚洲最大av| 国产免费福利视频在线观看| 国产深夜福利视频在线观看| 在线观看美女被高潮喷水网站| 久久久久久九九精品二区国产| videos熟女内射| 久久6这里有精品| 国产精品国产三级专区第一集| 精品一区二区三卡| av国产久精品久网站免费入址| 亚洲精品视频女|