![](/img/trans.png)
[英]I have kept @parallel=false at my feature level and scenarios are not executing parallel but all the feature files are executing parallel
[英]Executing Feature in isolation, but contained Scenarios in parallel
我有一個龐大且快速增長的空手道測試主體,並使用並行執行來加速處理,這在不同的配置中基本上工作得很好:
parallel=false
) 中順序執行場景@sequential
標記觸發)修改配置設置、全局查找等然而,對於許多類型的全局查找的基本功能,還有一個參數化(場景大綱)功能。 目前它以“完全順序”模式運行,因為它會影響其他測試。 但實際上該功能中的場景可以並行執行(它們不會相互影響),只要該功能作為一個整體是隔離執行的(因為測試確實會影響其他功能)。
那么 - 有沒有辦法實現“具有並行場景的順序功能”執行? 我承認這可能是一個小眾案例,但在我的案例中它會大大加快測試執行速度。
...並發布這個問題已經讓想法流動起來,並指出了一種可能的實現方式:
private static void runLocalParallel(Builder<?> builder) {
final List<Feature> features = builder.tags("@local_parallel").resolveAll();
for (Feature feature : features) {
builder.features(feature).parallel(8);
}
}
這會識別所有標記有@local_parallel
的特征,迭代它們並為每個單獨執行一個並行運行器。 結果處理、報告 output 等仍然需要以優雅的方式實現,但這也是可行的。
是的,確實是一個邊緣案例——但它出現過幾次。 我們想知道一種“分桶”線程的方法,這意味着我們可以做一些事情,比如說某些標簽必須只在特定線程上運行。 想想看,這是一個很好的功能請求,所以我打開了一個,請隨時發表評論。 https://github.com/karatelabs/karate/issues/2235
理論上,如果您編寫一些持有鎖的 Java 粘合代碼,您可以在輸入任何“關鍵”功能之前調用該代碼。 我沒有嘗試過,但可能值得嘗試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.