2010-11-17 5 views
1

При возникновении нарушения доступа в модульном тесте с библиотекой ускоренного тестирования.Я не хочу останавливать тест при нарушении прав доступа в тесте с помощью библиотеки boost

, а затем тест был прерван и закончен.

Но я не хочу останавливать модульный тест. Просто я хочу получить исключение или уведомление.

Как мне?

Спасибо, и, пожалуйста, understad мой дурак английский (8 (|!.)

EDIT

ошибка нарушения доступа не в тестовой программе Это в целевой программе (тестируемой)

.

, например.

целевая программа

int target_function() 
{ 
    char *source; 

    strcpy(source, "access violation"); 

    return 0; 
} 

т est

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

EDIT !!!

Я использую визуальную студию 2005 в системе windows и g ++ в системе linux.

EDIT !!! Я понял ваше мнение. Но я не программист программы. Поэтому я не могу их исправить. Я просто хочу продолжить свою тестовую программу. Я делаю много тестов. Так. всякий раз, когда моя тестовая программа удовлетворяет любой ошибке, передайте эту ошибку и продолжайте.

+0

Какой компилятор вы используете? В какой операционной системе вы работаете? –

ответ

2

Когда у вас есть нарушение доступа, целостность процесса в целом скомпрометирована. Нет никакого разумного способа оправиться от этого состояния; и, следовательно, нет разумного способа продолжить тестирование. Когда процесс развращает себя, этот процесс идет вниз, независимо от того, понравится ли ему модульная тестовая структура или нет.

+0

Невозможно ли нарушение доступа к доступу как «попробовать», «поймать»? – cardbt

+0

@cardbt В зависимости от вашей ОС и т. Д. Могут быть способы ее поймать. Но не лучше ли исправить источник нарушения доступа, а не пытаться обойти его? – TheUndeadFish

1

Я считаю, что методы, используемые для попыток поймать нарушения доступа, определяются реализацией. Однако это плохая идея, как вы ее отрезали. Если ваша программа рушится и горит, вы можете в любом случае прервать процесс тестирования и просто исправить проблему, прежде чем продолжить.

 Смежные вопросы

  • Нет связанных вопросов^_^