3 回答

TA貢獻1921條經驗 獲得超9個贊
據我了解,您想在 'res = undefined; 行拋出異常;//測試:添加以創(chuàng)建錯誤'。為此目的使用 try catch。(err) 塊用于處理 http 錯誤。例如,在 C# 中,在操作結果中鍵入以下內容:
[HttpGet("Get/{id}")]
public async Task<ActionResult<UserDto>> Get(long id)
{
ServiceResult<IEnumerable<UserBo>> result = await serviceManager.User_Service.FindAsync(filterCriteria);
if (result.Success)
{
userBo = result.Data.FirstOrDefault();
if (userBo == null)
return NotFound();
else
{
ServiceResult<bool> resultAutorized = await GetAutorizedUserStatusById(userBo);
if (!resultAutorized.Success || !resultAutorized.Data)
return BadRequest("unauthorized access");
}
UserDto userDto = UserBo.ConvertToDto(userBo);
return userDto;
}
else
{
return BadRequest(result.Error);
}
.FirstOrDefaultAsync();
}
注意這一行: return BadRequest("未經授權的訪問");

TA貢獻1836條經驗 獲得超4個贊
這不像try/catch
。訂閱錯誤塊的到達取決于 HTTP 代碼狀態(tài)(403,404,500 等),而不是腳本執(zhí)行錯誤。您的測試只是使腳本崩潰,而不是模擬 HTTP 錯誤代碼。

TA貢獻1848條經驗 獲得超2個贊
我假設您的 searchGetCall 是一個網絡請求,并且它返回一個可觀察值。當您的 Web 請求返回 http 狀態(tài)代碼錯誤時,您的錯誤塊將被執(zhí)行。
添加回答
舉報