日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

将Gatling集成到Gradle构建中–了解SourceSet和配置

發布時間:2023/12/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将Gatling集成到Gradle构建中–了解SourceSet和配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我最近在一個項目中工作,我們不得不將出色的負載測試工具Gatling集成到基于Gradle的版本中。 有可用的gradle插件使此操作變得容易,其中兩個是this和this ,但是對于大多數需求而言,只需簡單執行命令行工具本身就足夠了,因此本文將詳細介紹如何將gatling連接起來進入gradle構建過程,并在此過程中了解一些良好的gradle概念。

來源集和配置

要執行gatling cli,我需要做一些事情,需要一個位置來獲取Gatling模擬的源代碼和相關內容,并且需要一種獲取gatling庫的方法。 這是Gradle的兩個概念(SourceSets和Configuration)起作用的地方。

讓我們從第一個開始-SourceSets。

源集

SourceSet只是相關文件的邏輯分組,最好通過一個示例進行演示。 如果要在gradle版本中添加“ java”插件:

apply plugin: 'java'

現在,sourceSets屬性將顯示兩個值“ main”和“ test”,如果我想查找這些sourceSets的詳細信息,可以使用gradle任務來打印詳細信息:

task sourceSetDetails {doLast {sourceSets {main {println java.propertiesprintln resources.properties}test {println java.propertiesprintln resources.properties}}} }

回到gatling,我基本上可以創建一個新的sourceSet來保存gatling模擬:

sourceSets {simulations }

現在,這將使加特林模擬駐留在“ src / simulations / java”中,并將與之相關的資源駐留在“ src / simulations / resources”文件夾中,這是可以的,但理想情況下,我希望將其與項目完全分開資料來源。 我希望我的文件夾結構在“ simulations / load”文件夾中包含負載模擬,在“ simulations / resources”文件夾中包含資源。 可以通過首先應用“ scala”插件來對此進行調整,該插件為項目帶來了scala編譯支持,然后根據以下內容修改了“ simulations”源集:

apply plugin: 'scala'sourceSets {simulations {scala {srcDirs = ['simulations/load']}resources {srcDirs = ['simulations/resources']}} }

通過這些更改,我現在可以將仿真放置在正確的位置,但是尚未掌握加特林和scala的依賴性,這就是gradle的“配置”功能所在的地方。

組態

Gradle配置是將相關依賴項分組在一起的一種方式。 如果我要使用任務來打印現有的一組配置:

task showConfigurations {doLast {configurations.all { conf -> println(conf) }} }

這些出現:

configuration ':archives' configuration ':compile' configuration ':compileClasspath' configuration ':compileOnly' configuration ':default' configuration ':runtime' configuration ':simulationsCompile' configuration ':simulationsCompileClasspath' configuration ':simulationsCompileOnly' configuration ':simulationsRuntime' configuration ':testCompile' configuration ':testCompileClasspath' configuration ':testCompileOnly' configuration ':testRuntime' configuration ':zinc'

應該熟悉“ compile”和“ testCompile”,即通常這樣聲明正常的源依賴項和測試依賴項:

dependencies {compile 'org.slf4j:slf4j-api:1.7.21'testCompile 'junit:junit:4.12' }

但是,看起來現在還可以使用“ simulations”源集的配置–“ simulationsCompile”和“ simulationsRuntime”等,因此我可以使用這些配置聲明我的加特林仿真所需的依賴項,但是我的目的是聲明一個自定義配置只是為了進一步介紹該概念,因此讓我們顯式聲明一個:

configurations {gatling }

并使用此配置聲明加特林的依賴關系:

dependencies {gatling 'org.scala-lang:scala-library:2.11.8'gatling 'io.gatling.highcharts:gatling-charts-highcharts:2.2.5' }

幾乎在那兒,現在我們如何通過稍微調整sourceSet來告訴模擬源集中的源使用來自gatling配置的依賴項。

sourceSets {simulations {scala {srcDirs = ['simulations/load']}resources {srcDirs = ['simulations/resources']}compileClasspath += configurations.gatling} }

運行加特林場景

定義了源集和配置之后,我們要做的就是編寫一個任務來運行一次加特林模擬,可以遵循以下步驟:

task gatlingRun(type: JavaExec) {description = 'Run gatling tests'new File("${buildDir}/reports/gatling").mkdirs()classpath = sourceSets.simulations.runtimeClasspath + configurations.gatlingmain = "io.gatling.app.Gatling"args = ['-s', 'simulations.SimpleSimulation','-sf', 'simulations/resources','-df', 'simulations/resources','-rf', "${buildDir}/reports/gatling"] }

查看如何將模擬的編譯源以及來自gatling配置的依賴項設置為“ JavaExec”任務的類路徑

審查此問題的一種好方法是查看我在此處找到的完整的工作示例
我的github倉庫 – https://github.com/bijukunjummen/cf-show-env

翻譯自: https://www.javacodegeeks.com/2017/05/integrating-gatling-gradle-build-understanding-sourcesets-configuration.html

總結

以上是生活随笔為你收集整理的将Gatling集成到Gradle构建中–了解SourceSet和配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。