Существует ли #define _KEYWORD_ для компилятора CXXTEST, чтобы исключить блоки кода?

Мне нужно временно положить main() функция в моем объекте, чтобы проверить альтернативную функциональность (помимо простого модульного теста), но я продолжаю комментировать мои main() функция для запуска моих модульных тестов.

Есть ли #define _KEYWORD_ чтобы CxxTest позволил этому происходить автоматически?

0

Решение

Вам просто нужно инкапсулировать нарушающий код с помощью директивы компилятора, основанной на определении CXXTEST_RUNNING ключевое слово.

Например:

class myClass {
public:
myClass () {}
};

#ifndef CXXTEST_RUNNING
int main (int argc, char *argv[]) {
// Temporary runner. Typically deleted upon completion
// of alternate functionality added later in the project.
}
#endif

В этом случае при использовании инфраструктуры CxxTest main() функция будет игнорироваться в пользу main() созданный в рамках тестирования. В противном случае main() предоставленная вами функция будет использоваться.

2

Другие решения

Других решений пока нет …