gpt4 book ai didi

java - 如果服务无法实现,应该返回什么

转载 作者:行者123 更新时间:2023-12-01 19:28:16 25 4
gpt4 key购买 nike

假设我有一个方法可以将一些钱从一个用户转移到另一个用户,但是如果当前余额小于用户想要转移的金额,则应该无法转移。应该返回什么来表明交易是否成功执行。执行此操作的正确方法是什么?

服务等级

@Service
public class TransactionService {
public TransactionService(){

}
public void transferBalanceToAccount(Account senderAccount, Account receiverAccount,Long transferBalance){
if(senderAccount != null && receiverAccount != null){
// get both account balance
Long senderCurrentBalance = senderAccount.getBalance();
Long receiverCurrentBalance = receiverAccount.getBalance();

if(senderCurrentBalance < transferBalance) {
// i have no idea what to do
return;
}

senderAccount.setBalance(senderCurrentBalance - transferBalance);
receiverAccount.setBalance(receiverCurrentBalance + transferBalance);
}
}
}

单元测试

@Test
public void transferBalanceToAccountShouldNotBeAbleToTransfer(){
// Arrange
Account sender = new Account();
sender.setBalance(0L);
Account receiver = new Account();
receiver.setBalance(100L);

// Act
transactionService.transferBalanceToAccount(sender, receiver, 10L);

// Assert
// I'm struggling
assertEquals();
}

最佳答案

您应该抛出一个自定义异常,例如InsufficientFundsException,并根据您的需要进行处理。在测试中,您可以通过例如检查异常更改注释。在 JUnit 中:
@Test(expected = InsufficientFundsException.class)

关于java - 如果服务无法实现,应该返回什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60728919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com