Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
TAEF предоставляет механизм параллельного выполнения тестов в нескольких процессорах.
Гарантии параллелизма
- Ни два теста, не помеченные как параллельные , никогда не будут выполняться одновременно.
- Параллельные тесты можно выполнять параллельно с другими параллельными и не параллельными тестами.
- Все настройки и очистка модулей, классов и тестов будут выполняться последовательно до и после соответствующего теста в рамках одного процесса.
- Настройка модуля или класса может выполняться параллельно при различных процессах, если модуль или класс содержит по крайней мере один параллельный тест.
- Режим параллельного выполнения несовместим с механизмом выполнения "/inproc ".
Маркировка тестов как параллельных
Пример (исходный код):
class MyTests
{
TEST_CLASS(MyTests);
BEGIN_TEST_METHOD(ParallelTest)
TEST_METHOD_PROPERTY(L"Parallel", L"true")
END_TEST_METHOD()
};
Как и в случае с другими общими метаданными в TAEF, это можно указать на уровне класса или модуля и будет наследуться всеми тестами, содержащимися в этом классе или модуле. Например, чтобы пометить всю сборку как параллелизуемую, можно сделать следующее (за пределами любой спецификации класса или теста) в файле cpp, скомпилированном в тестовой библиотеке DLL:
BEGIN_MODULE()
MODULE_PROPERTY(L"Parallel", L"true");
END_MODULE()
Затем этот более общий контекст можно переопределить на более узких контекстах, чтобы отключить параллелизм для конкретных тестовых случаев или классов, например:
class MyTests
{
TEST_CLASS(MyTests);
BEGIN_TEST_METHOD(NonParallelTest)
TEST_METHOD_PROPERTY(L"Parallel", L"false");
END_TEST_METHOD()
};
Независимо от того, какой параметр ближе всего к методу теста (метаданные метода являются ближайшим, а затем классом, а затем модулем) будет использоваться для определения того, следует ли выполнять этот тест параллельно с другими тестами.
Включение параллелизма в командной строке
Параллельное выполнение — это функция согласия. Хотя тесты могут быть помечены как параллельные, TAEF продолжит выполнять тесты линейно, если в командной строке не включен режим параллельного выполнения:
te unittests\* /parallel