为了账号安全,请及时绑定邮箱和手机立即绑定

如何在@AfterMethod 中将@Test 标记为失败

如何在@AfterMethod 中将@Test 标记为失败

ABOUTYOU 2023-05-10 15:46:09
我的控制器:package com.market;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;@Controller public class Controllerx {    @Autowired    private View frame;/*    private void init() {        this.frame.addWindowListener(this);        registerAction(frame.getbEnter(), new AbstractAction() {            private List<Funcionarios> list;             @Override            public void action() {                if (!frame.getjLogin().getText().trim().isEmpty() || !frame.getjPassword().getText().trim().isEmpty()) {                }else {                    JOptionPane.showMessageDialog(frame, null, "Campo vázio", JOptionPane.INFORMATION_MESSAGE);                }            }            @Override            public void posAction() {                cleanUp();            }        });    }    */    public void show() {        frame.setVisible(true);    }}我的主要:@SpringBootApplication@EnableAutoConfigurationpublic class Market1Application {    public static void main(String[] args) {        ConfigurableApplicationContext context = new SpringApplicationBuilder(Market1Application.class).headless(false).run(args);        Controllerx appLogin = context.getBean(Controllerx.class);    }}我的看法:package com.market;import java.awt.FlowLayout;import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import org.springframework.stereotype.Component;
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

一旦条件为真,流就会被消耗而且我不能重用它


中间操作(例如map)返回一个新流,因此您需要在中间操作()之后重新分配流map。


IE


DoubleStream stream = object.getvalueStream(a,b);

if (condition) {

    stream = stream.map(v -> v * 2);

}

stream.forEach(value -> {

    // do something

}

注意终端操作(例如foreach)不返回流。所以如果你想要很多终端操作,你应该收集流以便可以重复使用。


另请注意,如果您希望链接( ) 调用,还有一个foreachcalled的中间版本。peekforeachpeek



查看完整回答
反对 回复 2023-05-10
?
守着一只汪

TA贡献1872条经验 获得超3个赞

Streams在 Java 中不能被重用。您应该将collect结果和流式传输两次


List<Double> doubles = object.getvalueStream(a,b).boxed().collect(toList());


if(condition) {

    doubles = doubles.stream().map(v -> v * 2).boxed().collect(toList);

}


// and further processing here

doubles.stream().forEach(v ->

    ...

);


查看完整回答
反对 回复 2023-05-10
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

如果保留流而不收集流对您很重要,则可以使用 map() 。这种方法的唯一缺点是每次都必须检查条件


DoubleStream stream = object.getvalueStream(a,b).map(v-> condition ? v*2 : v).forEach(...);

或者只是将正确的 Stream 分配给变量


DoubleStream stream = condition ? object.getvalueStream(a,b).map(v->v*2) : object.getvalueStream(a,b).map(v->v*2).forEach(...);

分享


查看完整回答
反对 回复 2023-05-10
  • 3 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信