Jbehave булево именованный параметр - PullRequest
0 голосов
/ 12 января 2012

В примерах jbehave 3 параметры отображаются как "double", поэтому я попытался использовать другие типы, кроме строки, но когда я пытаюсь добавить логический параметр, подобный этому

public void theUserShouldBeRedirectedToHomePage(@Named("should?") boolean should)

, я получаюошибка типа аргумента:

java.lang.IllegalArgumentException: argument type mismatch
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.jbehave.scenario.steps.CandidateStep$1.perform(CandidateStep.java:225)
    at org.jbehave.scenario.ScenarioRunner$FineSoFar.run(ScenarioRunner.java:112)

(также я использую версию 2.3, а не 3 из jbehave)

Это проблема с моей версией jbehave?Какой правильный способ использовать логический параметр?

Ответы [ 3 ]

1 голос
/ 24 февраля 2012

Я тоже так пытаюсь. Не существует ParameterConverter по умолчанию для логического / логического. Вы можете легко добавить один.

http://jbehave.org/reference/stable/parameter-converters.html

0 голосов
/ 26 ноября 2015

Jbehave версии 3 хорошо работает с Boolean. Возьмите следующий пример, он прекрасно работает в моем коде.

@Then("I verify the response has _success as $_success and _warning as $_warning and _info as $_info and _messages as $_messages")
            public void pidOrPidColorDeleteResponse(
                    @Named("_success") Boolean _success,
                    @Named("_warning") Boolean _warning, 
                    @Named("_info") Boolean _info,
                    @Named("_messages") List<String> _messages) { 

            }

С Jbehave версии 2 нужно проверить.

0 голосов
/ 13 августа 2014

Если вы в любом случае передадите этот параметр другому методу, иногда это проще сделать так:

public void theUserShouldBeRedirectedToHomePage (@Named ("should?") String should) {

myNextMethod ( Boolean.valueOf (must) );}

...