共用方式為


Parallel

TAEF 提供一種機制,以跨多個處理器平行執行測試。

平行處理原則保證

  • 不會同時執行未 標示為可 平行處理的兩個測試。
  • 平行測試可以與其他平行和非平行測試同時執行。
  • 所有模組/類別/測試設定和清除都會在相同程式中的相關測試前後以線性方式執行。
  • 如果模組或類別包含至少一個平行測試,模組/類別可能會在不同的進程中平行執行。
  • 平行執行模式與 「/inproc」 執行機制不相容。

將測試標示為可平行化

範例 (機器碼):

class MyTests
{

    TEST_CLASS(MyTests);

    BEGIN_TEST_METHOD(ParallelTest)
        TEST_METHOD_PROPERTY(L"Parallel", L"true")
    END_TEST_METHOD()
};

如同 TAEF 中的其他一般元數據,這可以在類別或模組層級指定,並由該類別或模組中包含的所有測試繼承。 例如,若要將整個元件標示為可平行化,您可以在編譯至測試 DLL 的 cpp 檔案中執行下列動作(在類別或測試規格之外):

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