Spring GetBean Java调用的单元测试参数化构造函数

时间:2019-02-12 16:02:07

标签: spring junit

如何对下面的代码行进行单元测试?

transactionIds.stream().forEach(txnId -> {
            AdminTxnLogDetailsServTask task = (AdminTxnLogDetailsServTask) ctx.getBean(AdminTxnLogDetailsServTask.class, accNum, txnId);
            tasks.add(task);
        });

我要测试线路

  

AdminTxnLogDetailsS​​ervTask任务=(AdminTxnLogDetailsS​​ervTask)   ctx.getBean(AdminTxnLogDetailsS​​ervTask.class,accNum,txnId);

此行调用参数化的构造函数,并使用spring getBean方法创建。而且这行在循环内,因此需要diff参数。

如何为这行代码编写单元测试?

@Component
@Scope("prototype")
public class AdminTxnLogDetailsServTask

    @Autowired(required = false)
    private AdminTransactionLogServFactory adminTransactionLogServFactory;

    private String transactionId;
    private BigInteger accNum;
    private GetTransactionDetailsRequest detailsRequest;

    public AdminTxnLogDetailsServTask(BigInteger accNum, String transactionId) {
        this.transactionId = transactionId;
        detailsRequest = new GetTransactionDetailsRequest();
        detailsRequest.setAccountNumber(accNum);
        detailsRequest.setTransactionid(transactionId);
    }
}

0 个答案:

没有答案