首页 \ 问答 \ 如何使有状态的JBehave步骤对于多线程执行是安全的(How to make stateful JBehave steps safe for multithreaded execution)

如何使有状态的JBehave步骤对于多线程执行是安全的(How to make stateful JBehave steps safe for multithreaded execution)

目前,我正在使用Spring将一个步骤类注入到JUnit测试中:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration...
class MyTest extends JUnitStories {
    @Autowired private MySteps mySteps;

    public List<CandidateSteps> candidateSteps() {
        return new InstanceStepsFactory(configuration(), mySteps).createCandidateSteps();
    }

    ...
}

我想用多线程运行JBehave ,所以我不能再注入一个单独的MySteps bean了。

我已经阅读了http://jira.codehaus.org/browse/JBEHAVE-492但仍然无法看到如何解决我的问题。


Currently, I'm injecting a steps class into a JUnit test using Spring:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration...
class MyTest extends JUnitStories {
    @Autowired private MySteps mySteps;

    public List<CandidateSteps> candidateSteps() {
        return new InstanceStepsFactory(configuration(), mySteps).createCandidateSteps();
    }

    ...
}

I'd like to run JBehave with multiple threads, so I can't inject a singleton MySteps bean any longer.

I've read http://jira.codehaus.org/browse/JBEHAVE-492 but still can't see how to solve my problem.


原文:https://stackoverflow.com/questions/11666442
更新时间:2023-04-12 15:04

最满意答案

chart.PerformanceSummary实际上只是几个图表的包装器。

您可以这样做,并根据需要将其水平扩展到任意数量的符号(如果您愿意,可以超过2个符号) 在此处输入图像描述

par(mfrow=c(3,2))
# First row
chart.CumReturns(XTS1, ylab = "Cumulative Return", main = "give me a title")
chart.CumReturns(XTS2, ylab = "Cumulative Return", main = "give me a title2")
# second row
chart.BarVaR(XTS1)
chart.BarVaR(XTS2)

# third row
chart.Drawdown(XTS1, main = "DD title", ylab = "Drawdown", 
)
chart.Drawdown(XTS2, main = "", ylab = "Drawdown", 
)

您需要为每个绘图添加适当的参数,例如颜色和标题(留给您),但您可以灵活地添加来自精彩xtsquantmodperformanceAnalytics包(以及其他)的任何图表。


chart.PerformanceSummary is really just a wrapper to several charts.

You could do this, and extend it to any number of symbols horizontally if you wish (more than 2 symbols if you wanted)enter image description here:

par(mfrow=c(3,2))
# First row
chart.CumReturns(XTS1, ylab = "Cumulative Return", main = "give me a title")
chart.CumReturns(XTS2, ylab = "Cumulative Return", main = "give me a title2")
# second row
chart.BarVaR(XTS1)
chart.BarVaR(XTS2)

# third row
chart.Drawdown(XTS1, main = "DD title", ylab = "Drawdown", 
)
chart.Drawdown(XTS2, main = "", ylab = "Drawdown", 
)

You need to add the appropriate parameters to each plot for things like colour and titles (leaving that to you), but you have the flexibility of adding any charts from the wonderful xts, quantmod, performanceAnalytics packages (and others).

相关问答

更多

相关文章

更多

最新问答

更多
  • 如何检索Ember.js模型的所有属性(How to retrieve all properties of an Ember.js model)
  • maven中snapshot快照库和release发布库的区别和作用
  • arraylist中的搜索元素(Search element in arraylist)
  • 从mysli_fetch_array中获取选定的值并输出(Get selected value from mysli_fetch_array and output)
  • Windows Phone上的可用共享扩展(Available Share Extensions on Windows Phone)
  • 如何在命令提示符下将日期设置为文件名(How to set file name as date in command prompt)
  • 如何在Laravel 5.2中使用paginate与关系?(How to use paginate with relationships in Laravel 5.2?)
  • 从iframe访问父页面的id元素(accessing id element of parent page from iframe)
  • linux的常用命令干什么用的
  • Feign Client + Eureka POST请求正文(Feign Client + Eureka POST request body)
  • 怎么删除禁用RHEL/CentOS 7上不需要的服务
  • 为什么Gradle运行测试两次?(Why does Gradle run tests twice?)
  • 由于有四个新控制器,Auth刀片是否有任何变化?(Are there any changes in Auth blades due to four new controllers?)
  • 如何交换返回集中的行?(How to swap rows in a return set?)
  • 在android中的活动之间切换?(Switching between activities in android?)
  • Perforce:如何从Depot到Workspace丢失文件?(Perforce: how to get missing file from Depot to Workspace?)
  • Webform页面避免运行服务器(Webform page avoiding runat server)
  • 在ios 7中的UITableView部分周围绘制边界线(draw borderline around UITableView section in ios 7)
  • 内存布局破解(memory layout hack)
  • 使用Boost.Spirit Qi和Lex时的空白队长(Whitespace skipper when using Boost.Spirit Qi and Lex)
  • 我们可以有一个调度程序,你可以异步添加东西,但会同步按顺序执行吗?(Can we have a dispatcher that you can add things todo asynchronously but will be executed in that order synchronously?)
  • “FROM a,b”和“FROM a FULL OUTER JOIN b”之间有什么区别?(What is the difference between “FROM a, b” and “FROM a FULL OUTER JOIN b”?)
  • Java中的不可变类(Immutable class in Java)
  • bat批处理文件结果导出到txt
  • WordPress发布查询(WordPress post query)
  • 如何在关系数据库中存储与IPv6兼容的地址(How to store IPv6-compatible address in a relational database)
  • 是否可以检查对象值的条件并返回密钥?(Is it possible to check the condition of a value of an object and JUST return the key?)
  • 德州新起点计算机培训学校主要课程有什么?
  • GEP分段错误LLVM C ++ API(GEP segmentation fault LLVM C++ API)
  • “latin1_german1_ci”整理来自哪里?(Where is “latin1_german1_ci” collation coming from?)