使用JUnit和Repeat注释编写有效的负载测试
EasyTest最近推出了一套新的注釋,可幫助其用戶編寫有效的測試用例。 進入EasyTest的兩個主要注釋是:
- 重復
- 持續(xù)時間
今天,我們將討論重復標注。
一種新的方法級別注釋
重復已添加到EasyTest框架。 此批注可用于重復相同的測試多次。 在您可能想快速對應(yīng)用程序進行負載測試的情況下,此注釋很有用。 這是如何使用此注釋的方法。
public class TestJSON {@Test@Repeat(times=20)public Item testJSONObject(@Param(name='itemId')String itemId, @Param(name='itemType')String itemType) {Item result = testSubject.findItem(itemId)Assert.notNull(result);return result;}注意方法級別的重復注釋。 當EasyTest看到此注釋時,它將創(chuàng)建“ n”種不同的測試方法實例,其中“ n”由Repeat注??釋的“ times”屬性定義。 在上述情況下,EasyTest將創(chuàng)建上述測試方法的20個唯一實例。
從命令行運行測試時,還可以使用系統(tǒng)屬性test.repeatCount 。 設(shè)置此屬性后,EasyTest會簡單地為測試類中定義的每個測試創(chuàng)建“ n”個實例,其中“ n”由上述系統(tǒng)屬性的值定義。 系統(tǒng)屬性優(yōu)先于重復注釋。 這意味著,如果同時存在注釋和系統(tǒng)屬性,則將使用系統(tǒng)屬性的值。
如果您為給定的測試方法定義了3組輸入測試數(shù)據(jù),并且該測試方法的重復標注的時間為20,則每個輸入測試數(shù)據(jù)將運行20次測試。 因此,測試將運行的總時間為3 X 20 = 60。
這是一種非常快速有效的方法,無需任何特定的設(shè)置即可對應(yīng)用程序進行負載測試。 請注意,僅憑這一項并不能給您真實的環(huán)境圖景,但是絕對可以作為一個良好的起點。
在IDE上運行時,每個測試用例名稱都將附加“ _n”,其中n的范圍是0到(時間– 1),其中times是重復注釋中指定的數(shù)字。 這是供參考的屏幕截圖。
因此,如您所見,EasyTest為用戶提供了一種快速有效的方法,只需使用單個批注即可將其現(xiàn)有的單元測試轉(zhuǎn)換為負載測試。
在下一篇博客文章中,我們將討論Duration注釋。
- 有關(guān)EasyTest的快速介紹,請參閱EasyTest 快速入門指南 。
- 有關(guān)EasyTest提供的內(nèi)容的詳細信息,請查看EasyTest的Github頁面上的README文件。
- 有關(guān)更多詳細信息,請參見EasyTest WIKI頁面之一。
翻譯自: https://www.javacodegeeks.com/2013/10/write-effective-load-tests-using-junit-and-repeat-annotation.html
總結(jié)
以上是生活随笔為你收集整理的使用JUnit和Repeat注释编写有效的负载测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java方法中的参数太多,第2部分:参数
- 下一篇: 使用Apache Felix文件安装配置