Per un test di comportamento che sto tentando di scrivere, ho bisogno di input in virgola mobile. Come posso impostare la mia stringa di cetriolino per cercare questi valori?Cucumber JVM: Come si usa un doppio come valore di input?
risposta
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 {
...
}
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){
}
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.
la lingua fa la differenza! È lo stesso per la lingua: de. Grazie! –
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
Quella non era la questione della questione –