簡體   English   中英

我不想在使用Boost庫進行測試時遇到訪問沖突時停止測試

[英]I don't want to stop test when access violation in test with boost library

在使用Boost測試庫的單元測試中發生訪問沖突時。

然后,測試被中止並完成。

但是,我不想停止單元測試。 我只是想獲得例外或通知。

我如何?

謝謝,請不要誤解我的傻瓜英語(8(|)

編輯!

測試程序中沒有訪問沖突錯誤。 它在目標程序中(正在測試)。

例如。

目標程序

int target_function()
{
  char *source;

  strcpy(source, "access violation");

  return 0;
}

測試程序

BOOST_AUTO_TEST_CASE(access_violation)
{
  target_function();
  BOOST_CHECK(false);
}

編輯!!!

我也在Windows系統中使用Visual Studio 2005,在Linux系統中也使用g ++。

編輯!!! 我理解你的意見。 但是,我不是目標程序程序員。 因此,我無法修復它們。 我只想繼續測試程序。 我做了很多測試用例。 所以。 只要我的測試程序遇到任何錯誤,就傳遞該錯誤並繼續。

當您遇到訪問沖突時,整個過程的完整性都會受到損害。 沒有理智的方法可以從這種情況中恢復過來。 因此沒有明智的方式繼續測試。 當流程本身損壞時,無論單元測試框架是否願意,流程都會崩潰。

我相信用於嘗試捕獲訪問沖突的方法是實現定義的。 但是,以任何方式削減它都是一個壞主意。 如果您的程序崩潰並刻錄,您可能還是要中止測試過程,並在繼續之前解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM