Jbehave 布尔命名参数

发布于 2024-12-26 10:43:31 字数 790 浏览 2 评论 0原文

在 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,不是jbehave的3)

是我的jbehave版本有问题吗?哪种是使用布尔参数的正确方法?

In the jbehave 3 examples I can see parameters as "double", so I tried to use other types besides string, but when I try to add a boolean parameter like this

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

I get an argument type error:

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)

(also, I'm using version 2.3, not 3 of jbehave)

Is it a problem with my jbehave version? which is the right way to use a boolean parameter?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

听不够的曲调 2025-01-02 10:43:31

我也试试这个。布尔值/布尔值没有默认的 ParameterConverter。您可以轻松添加一个。

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

I try this too. There is no default ParameterConverter for boolean/Boolean. You can easily add one.

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

北方。的韩爷 2025-01-02 10:43:31

如果您无论如何都要将此参数传递给其他方法,有时这样做会更容易:

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

myNextMethod(Boolean.valueOf (应该));
}

If you will pass this parameter to other method anyways, sometimes is easier to do like this:

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

myNextMethod(Boolean.valueOf(should));
}

坐在坟头思考人生 2025-01-02 10:43:31

Jbehave 版本 3 与布尔运算配合得很好。以下面的例子为例,它在我的代码中运行得很好。

@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 Version 2 需要检查。

Jbehave version 3 works well with Boolean. Take the following example it works perfectly fine in my code.

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

            }

With Jbehave Version 2 need to check.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文