6

私が書こうとしている動作テストでは、浮動小数点の入力が必要です。これらの値を探すためにガーキン文字列を設定するにはどうすればよいですか?

4

4 に答える 4

10

シンプル(.+)に動作するはずです

Given I have a floating point 1.2345 number

@Given("^I have a floating point (.+) number$")
public void I_have_a_floating_point_number(double arg) throws Throwable { 
    ... 
}
于 2013-02-27T01:38:07.983 に答える
5

私自身の好みは、ドットの両側に数字を指定することです...

@Given("^the floating point value of (\\d+.\\d+)$")
public void theFloatingPointValueOf(double arg) {
    // assert something
}

そして、あなたが複数の浮動小数点入力について言及したように、私は複数の入力を次のようなアウトラインで処理するかもしれません...

Scenario Outline: handling lots of floating point inputs
    Given the floating point value of <floatingPoint>
    When something happens
    Then some outcome

    Examples:
        | floatingPoint |
        | 2.0           |
        | 2.4           |
        | 5.8           |
        | 3.2           |

そして、浮動小数点入力ごとにシナリオを実行します

于 2015-11-02T11:46:52.370 に答える
2

フォームを使用します

 @When("^We change the zone of the alert to \\(([0-9\\.]+),([0-9\\.]+)\\) with a radius of (\\d+) meters.$")
 public void we_change_the_zone_of_the_alert_to_with_a_radius_of_meters(double latitude, double longitude, int radius)

だから[0-9.]+取引をする:)

あなたのきゅうりの地元の世話をしてください。たとえば、使用language:frしている場合、数値は,区切り文字に使用されています。

于 2014-09-15T14:40:00.840 に答える
-1

浮動小数点数をエスケープする必要があります(\\d+)

Given I have a floating point 1.2345 number

@Given("^I have a floating point (\\d+) number$")
public void I_have_a_floating_point(double arg){

}
于 2013-12-03T13:12:47.603 に答える