Тесты NetBeans никогда не заканчиваются - PullRequest
5 голосов
/ 15 декабря 2011

При попытке протестировать мой проект C на NetBeans, тесты никогда не заканчиваются, пока вывод:

   Test: testFileOne ...passed   Test: testFileTwo ...passed

 Run Summary:    Type  Total    Ran Passed Failed Inactive
               suites      1      1    n/a      0        0
                tests      2      2      2      0        0
              asserts      8      8      8      0      n/a

 Elapsed time =    0.000 seconds

Даже если он кажется завершенным, индикатор выполнения все еще светится на значении 0,0%.

Все тесты похожи на:

void testMethod() {
     CU_ASSERT(1 == 1);
     //other lines of code..
     CU_ASSERT(0 == 0);
 }

с более чем одним CU_ASSERT для каждой функции. Некоторое поведение с автоматически сгенерированным тестовым кодом NetBeans.

Команда

make test

из командной строки работает как шарм и заканчивается без проблем.

Кто-нибудь сталкивался с этой проблемой раньше? какой-нибудь способ решить это, не шатаясь мой ноутбук? Заранее спасибо за каждый комментарий.

Ответы [ 2 ]

1 голос
/ 23 января 2013

Похоже, что Netbeans требует определенной директивы a, чтобы остановить набор тестов, и это точно printf("%%SUITE_FINISHED%% time=0\n");. Вот как должен выглядеть ваш тест (либо вы используете обычный vanilla C, либо какую-то библиотеку, например CUnit):

#include <stdio.h>
#include <stdlib.h>

void test1() {
    // do your stuff
}

int main(int argc, char** argv) {
    printf("%%SUITE_STARTING%% mysimpletest\n");
    printf("%%SUITE_STARTED%%\n");

    printf("%%TEST_STARTED%% test1 (mysimpletest)\n");
    test1();
    printf("%%TEST_FINISHED%% time=0 test1 (mysimpletest) \n");

    printf("%%SUITE_FINISHED%% time=0\n");

    return (EXIT_SUCCESS);
}
1 голос
/ 28 августа 2012

Вы можете использовать отладчик (например, gdb) для отслеживания того, что происходит.

Это потребует добавления флагов отладки в ваш код модуля.Предполагая, что вы используете gcc, это будет флаг -g.

После компиляции с флагами отладки вы можете просто запустить тестовый двоичный файл с помощью отладчика, так же как вы отлаживали бы обычную программу.

...