Java測(cè)試代碼程序,java最簡(jiǎn)單的測(cè)試代碼怎么寫

java怎么調(diào)試代碼?

步驟:

平潭ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

1、在cmd中切換到編寫的代碼所保存的目錄下;

2、在cmd中輸入javac然后點(diǎn)空格,再點(diǎn)擊文件名和包括后綴名確定后,在存放編寫代碼的文件下會(huì)生成一個(gè)class的字節(jié)碼文件;

3、在cmd中輸入java然后點(diǎn)空格,輸入第二步中生成的字節(jié)碼的文件名,不需要后綴名,點(diǎn)擊確定即可運(yùn)行代碼。

代碼就是程序員用開發(fā)工具所支持的語(yǔ)言寫出來(lái)的源文件,是一組由字符、符號(hào)或信號(hào)碼元以離散形式表示信息的明確的規(guī)則體系。計(jì)算機(jī)代碼稱為源代碼,是相對(duì)目標(biāo)代碼和可執(zhí)行代碼而言的。 源代碼就是用匯編語(yǔ)言和高級(jí)語(yǔ)言寫出來(lái)的地代碼,目標(biāo)代碼是指源代碼經(jīng)過(guò)編譯程序產(chǎn)生的能被cpu直接識(shí)別二進(jìn)制代碼。

怎么寫Java測(cè)試代碼?

可以用main函數(shù)和JUnit來(lái)寫測(cè)試代碼。main是最早使用的,但是現(xiàn)在更流行的測(cè)試工具是JUnit。

JUnit是一個(gè)Java語(yǔ)言的單元測(cè)試框架。它由Kent Beck和Erich Gamma建立,逐漸成為源于Kent Beck的sUnit的xUnit家族中最為成功的一個(gè)。 JUnit有它自己的JUnit擴(kuò)展生態(tài)圈。多數(shù)Java的開發(fā)環(huán)境都已經(jīng)集成了JUnit作為單元測(cè)試的工具。

下面是一些具體的編寫測(cè)試代碼的技巧或較好的實(shí)踐方法:

1. 不要用TestCase的構(gòu)造函數(shù)初始化Fixture,而要用setUp()和tearDown()方法。

2. 不要依賴或假定測(cè)試運(yùn)行的順序,因?yàn)镴Unit利用Vector保存測(cè)試方法。所以不同的平臺(tái)會(huì)按不同的順序從Vector中取出測(cè)試方法。

3. 避免編寫有副作用的TestCase。例如:如果隨后的測(cè)試依賴于某些特定的交易數(shù)據(jù),就不要提交交易數(shù)據(jù)。簡(jiǎn)單的回滾就可以了。

4. 當(dāng)繼承一個(gè)測(cè)試類時(shí),記得調(diào)用父類的setUp()和tearDown()方法。

5. 將測(cè)試代碼和工作代碼放在一起,一邊同步編譯和更新。(使用Ant中有支持junit的task.)

6. 測(cè)試類和測(cè)試方法應(yīng)該有一致的命名方案。如在工作類名前加上test從而形成測(cè)試類名。

7. 確保測(cè)試與時(shí)間無(wú)關(guān),不要依賴使用過(guò)期的數(shù)據(jù)進(jìn)行測(cè)試。導(dǎo)致在隨后的維護(hù)過(guò)程中很難重現(xiàn)測(cè)試。

8. 如果你編寫的軟件面向國(guó)際市場(chǎng),編寫測(cè)試時(shí)要考慮國(guó)際化的因素。不要僅用母語(yǔ)的Locale進(jìn)行測(cè)試。

9. 盡可能地利用JUnit提供地assert/fail方法以及異常處理的方法,可以使代碼更為簡(jiǎn)潔。

10.測(cè)試要盡可能地小,執(zhí)行速度快。

11.不要硬性規(guī)定數(shù)據(jù)文件的路徑。

12.利用Junit 的自動(dòng)異常處理書寫簡(jiǎn)潔的測(cè)試代碼

事實(shí)上在Junit 中使用try-catch 來(lái)捕獲異常是沒有必要的,Junit 會(huì)自動(dòng)捕獲異常。那些沒有被捕獲的異常就被當(dāng)成錯(cuò)誤處理。

13. 充分利用Junit 的assert/fail 方法

assertSame()用來(lái)測(cè)試兩個(gè)引用是否指向同一個(gè)對(duì)象

assertEquals()用來(lái)測(cè)試兩個(gè)對(duì)象是否相等

14. 確保測(cè)試代碼與時(shí)間無(wú)關(guān)

15. 使用文檔生成器做測(cè)試文檔。

有了java代碼,如何測(cè)試

你這說(shuō)的太籠統(tǒng)了,應(yīng)該具體些。

有了Java代碼之后

1、可以在代碼中寫些測(cè)試的方法,把你想要驗(yàn)證的東西,輸出看一下。

2、可以用Debug的形式,跟蹤代碼執(zhí)行,驗(yàn)證程序的邏輯是否正確。

3、利用JUnit寫斷言,測(cè)試結(jié)果

編輯一個(gè)Java問(wèn)題測(cè)試程序怎么寫

是控制臺(tái)輸入嗎。為了方便類都寫一個(gè)里面了??梢詤⒖枷?/p>

建立一個(gè)題目實(shí)體(標(biāo)題、4個(gè)選項(xiàng)屬性、正確答案);

建立一個(gè)結(jié)果實(shí)體(標(biāo)題、是否正確結(jié)果、選擇的答案、正確答案);

建立一個(gè)題目list集合,用于存放題目(每個(gè)難度對(duì)應(yīng)一個(gè)list);

建立一個(gè)結(jié)果list集合,用于存放作答后的信息;

創(chuàng)建對(duì)應(yīng)的題目對(duì)象,實(shí)體化實(shí)體,并且放入對(duì)應(yīng)的list里面

根據(jù)選擇對(duì)應(yīng)的難度找到對(duì)應(yīng)難度的list集合;

然后遍歷這個(gè)集合,依次顯示每個(gè)題目的信息,并讓用戶作答,答完一個(gè)顯示下一個(gè)題目,

獲取用戶選擇的答案,用這個(gè)答案跟實(shí)體中的正確答案做比較;

創(chuàng)建結(jié)果實(shí)體對(duì)象,將比較后的信息set到實(shí)體中。(標(biāo)題、正確結(jié)果、選擇的答案、正確答案);

將這個(gè)結(jié)果實(shí)體放入到結(jié)果list集合中;循環(huán)結(jié)束后遍歷結(jié)果list集合顯示就可以了。

代碼:

import?java.util.ArrayList;

import?java.util.List;

import?java.util.Scanner;

public?class?SaveLog?{

public?static?void?main(String[]?args)?{

Scanner?in?=?new?Scanner(System.in);

//?提示信息

System.out.println("請(qǐng)輸入數(shù)字選擇題目難度,1:簡(jiǎn)單,2:困難");

//?獲取到對(duì)應(yīng)難度的題目

ListQuestion?questionList?=?getQuestionByLevel(in.nextInt());

//?創(chuàng)建結(jié)果list

ListQuestionResult?questionResults?=?new?ArrayListQuestionResult();

//?總答題,正確,錯(cuò)誤

int?questionCount?=?questionList.size();

int?correntCount?=?0;

int?errorCount?=?0;

//?遍歷題目

for?(int?i?=?0;?i??questionList.size();?i++)?{

//?獲取到題目

Question?question?=?questionList.get(i);

System.out.println("題目"?+?(i?+?1)?+?":"?+?question.getTitle());

//?獲取到題目選項(xiàng)并打印控制臺(tái)

ListString?selected?=?question.getList();

for?(String?string?:?selected)?{

System.out.println(string);

}

//?獲取到選擇的答案

String?corrent?=?in.next();

//?獲取到做題結(jié)果

QuestionResult?qr?=?setQuestionResult(question,?corrent);

//?計(jì)算錯(cuò)誤與正確的題目

if?(corrent.equalsIgnoreCase(question.getCorrentResult()))?{

correntCount?=?correntCount?+?1;

}?else?{

errorCount?=?errorCount?+?1;

}

//?放入結(jié)果集合

questionResults.add(qr);

}

System.out.println("您一共答了"?+?questionCount?+?"道題,其中正確的為"?+?correntCount?+?"題,錯(cuò)誤為"?+?errorCount?+?"題");

System.out.println();

//?遍歷結(jié)果

for?(QuestionResult?questionResult?:?questionResults)?{

if?(!questionResult.getSelected().equals(questionResult.getCorrentResult()))?{

System.out.println("錯(cuò)誤題目:"?+?questionResult.getTitle());

System.out.println("是否正確:"?+?questionResult.getResult());

System.out.println("選擇的答案:"?+?questionResult.getSelected()?+?",正確答案:"?+?questionResult.getCorrentResult());

System.out.println();

}

}

}

public?static?QuestionResult?setQuestionResult(Question?question,?String?corrent)?{

QuestionResult?result?=?new?QuestionResult();

result.setCorrentResult(question.getCorrentResult());

result.setTitle(question.getTitle());

result.setSelected(corrent);

//?如果答案正確

if?(corrent.equalsIgnoreCase(question.getCorrentResult()))?{

result.setResult("正確");

}?else?{

result.setResult("錯(cuò)誤");

}

return?result;

}

/**?根據(jù)難度獲取對(duì)應(yīng)題目(1:簡(jiǎn)單。2:困難)?*/

public?static?ListQuestion?getQuestionByLevel(int?level)?{

ListQuestion?result?=?null;

if?(level?==?1)?{

//?創(chuàng)建list集合用于存放題目,簡(jiǎn)單難度

ListQuestion?questionList?=?new?ArrayListQuestion();

//?添加題目到list

Question?question?=?new?Question();

question.setTitle("中國(guó)文化博大精深,請(qǐng)問(wèn)1+2等于幾?");

//?題目答案選項(xiàng)

ListString?list?=?new?ArrayListString();

list.add("A:1");

list.add("B:2");

list.add("C:3");

list.add("D:6");

question.setCorrentResult("C");

question.setList(list);

//?將題目放到list集合

questionList.add(question);

//?設(shè)置返回結(jié)果

result?=?questionList;

}?else?if?(level?==?2)?{

//?創(chuàng)建list集合用于存放題目,簡(jiǎn)單難度

ListQuestion?questionList?=?new?ArrayListQuestion();

//?添加題目到list

Question?question?=?new?Question();

question.setTitle("朝辭白帝彩云間的下一句是什么?");

//?題目答案選項(xiàng)

ListString?list?=?new?ArrayListString();

list.add("A:千里江陵一日還");

list.add("B:野火燒不盡");

list.add("C:離離原上草");

list.add("D:智商捉雞");

question.setCorrentResult("A");

question.setList(list);

//?將題目放到list集合

questionList.add(question);

//?設(shè)置返回結(jié)果

result?=?questionList;

}

return?result;

}

}

/**?題目結(jié)果類?*/

class?QuestionResult?{

/**?題目名稱?*/

private?String?title;

/**?是否正確?*/

private?String?result;

/**?選擇的答案?*/

private?String?selected;

/**?正確答案?*/

private?String?correntResult;

public?String?getTitle()?{

return?title;

}

public?void?setTitle(String?title)?{

this.title?=?title;

}

public?String?getResult()?{

return?result;

}

public?void?setResult(String?result)?{

this.result?=?result;

}

public?String?getSelected()?{

return?selected;

}

public?void?setSelected(String?selected)?{

this.selected?=?selected;

}

public?String?getCorrentResult()?{

return?correntResult;

}

public?void?setCorrentResult(String?correntResult)?{

this.correntResult?=?correntResult;

}

}

/**?題目類?*/

class?Question?{

/**?題目名稱?*/

private?String?title;

/**?題目的所有選項(xiàng)?*/

private?ListString?list;

/**?正確答案?*/

private?String?correntResult;

public?String?getTitle()?{

return?title;

}

public?void?setTitle(String?title)?{

this.title?=?title;

}

public?ListString?getList()?{

return?list;

}

public?void?setList(ListString?list)?{

this.list?=?list;

}

public?String?getCorrentResult()?{

return?correntResult;

}

public?void?setCorrentResult(String?correntResult)?{

this.correntResult?=?correntResult;

}

}

如何測(cè)試java程序

那是一個(gè)junit的測(cè)試方法,這段代碼可以直接寫在源碼中,作為白盒測(cè)試使用。

JAVA程序測(cè)試

1、首先添加junit支持(這里假設(shè)你已經(jīng)假如支持庫(kù))。

其次,最好單獨(dú)創(chuàng)建test類文件夾

大致測(cè)試類這樣寫:

package?myUtils

import?static?org.junit.Assert.*;

import?org.junit.Test;

public?class?TranslatorTest?{

/**

*?這里測(cè)試你的translate方法

*/

@Test

public?void?testTranslate(String?str)?{??

Translator?my?=?new?Translator("enToZh.txt");??

String?tName?=?my.translate("sName");

System.out.println("tName:"+tName);

}?

}

當(dāng)然,Assert類提供了很多方便測(cè)試的靜態(tài)方法,推薦你使用提供的靜態(tài)方法進(jìn)行測(cè)試。不過(guò)你這個(gè)例子不需要。@Test注解也是必須的,測(cè)試類和類最好在同一個(gè)包下,分開管理(一個(gè)放src目錄下,一個(gè)放test目錄下(這個(gè)目錄需要自己創(chuàng)建))

網(wǎng)頁(yè)標(biāo)題:Java測(cè)試代碼程序,java最簡(jiǎn)單的測(cè)試代碼怎么寫
分享路徑:http://muchs.cn/article42/hssjec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、軟件開發(fā)、App設(shè)計(jì)企業(yè)建站、響應(yīng)式網(wǎng)站定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司