2013-02-15 12 views

risposta

7

semplice (.+) dovrebbe funzionare

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 { 
    ... 
} 
0

Si dovrebbe sfuggire il numero galleggiante con (\\d+)

Esempio

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){ 

} 
+0

Quella non era la questione della questione –

2

uso il modulo

@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) 

così [0-9.]+ fare l'affare :)

prendersi cura della locale del cetriolo. Ad esempio, se si utilizza language:fr, il numero utilizza , per il delimitatore.

+0

la lingua fa la differenza! È lo stesso per la lingua: de. Grazie! –

3

La mia preferenza è quella di specificare le cifre su entrambi i lati di un punto, qualcosa di simile ...

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

e come lei ha ricordato floating point ingressi plurale, potrei gestire gli ingressi multipli con un contorno come .. .

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   | 

E sarà eseguito uno scenario per floating point di ingresso