0

ドキュメントに従って、ランプ値のパラメータを使用しています。

val rampUpRate  = Integer.getInteger("ramp", 1)

setUp(
    scn.users(10).ramp(rampUpRate).protocolConfig(httpConf)
)

しかし、ガトリングを実行すると、エラーが発生します。

09:57:35.695 [ERROR] c.e.e.g.a.ZincCompiler$ - /Gatling/user-files/simulations/clients/com/mydomain/www/stress/RecordedSimulation.scala:1088: overloaded method value ramp with alternatives:
  (duration: akka.util.Duration)com.excilys.ebi.gatling.core.scenario.configuration.ConfiguredScenarioBuilder <and>
  (duration: Long)com.excilys.ebi.gatling.core.scenario.configuration.Configured
ScenarioBuilder
 cannot be applied to (java.lang.Integer)

パラメータを使用する前に、単にLongにキャストできると思いました

val rampUpRate  = Integer.getInteger("ramp", 1)

setUp(
    scn.users(10).ramp((Long) rampUpRate).protocolConfig(httpConf)
)

しかし、これはまだエラーです:

09:57:35.695 [ERROR] c.e.e.g.a.ZincCompiler$ - /Gatling/user-files/simulations/clients/com/mydomain/www/stress/RecordedSimulation.scala:1088: \sanctuarySpa\com\sanctuaryspa\www\stress\RecordedSimulation.scala:1088:
value rampUpRate is not a member of object Long
10:05:34.915 [ERROR] c.e.e.g.a.ZincCompiler$ - scn1.users(10).ramp((Long) rampUpRate).protocolConfig(httpConf),

ドキュメントに従う理由、またはlongへの明示的なキャストが機能しない理由はありますか?

4

2 に答える 2

2

rampUpRate.toLongロング(またはより一般的なキャストrampUpRate.asInstanceOf[Long])にキャストするために使用してみてください

(Long) rampUpRateコンパイラによって、Long.rampUrRate()たとえば関数rampUpRateobject Longに適用しようとしていると見なされるため、エラーメッセージが表示されます。

于 2013-03-21T11:34:52.280 に答える
2

それは私のせいです:wikiページは最新ではありません。何が起こるかというと、メソッドがscala Longをとっている間に、java.lang.Integerがあります。java.lang.Longは暗黙的にscalaLongに変換できますが、java.lang.Integerには変換できません。

適切な方法はval rampUpRate = java.lang.Long.getLong("ramp", 1L)

PS:ドキュメントを修正しました。

于 2013-03-21T12:27:15.523 に答える