亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以同時運行 @TestFactory 生成的 Junit 動態測試嗎?

我可以同時運行 @TestFactory 生成的 Junit 動態測試嗎?

小怪獸愛吃肉 2022-10-12 10:54:51
我正在使用 Junit 的Discovering Tests功能,并且我還有一個類,它介紹了一些@TestFactory方法,每種方法都會產生大量的動態測試。我的第一個想法是“能夠同時運行這些會很棒。”,所以我補充說.configurationParameter(                "junit.jupiter.execution.parallel.enabled", "true"            )對我LauncherDiscoveryRequestBuilder和我用@Execution(ExecutionMode.CONCURRENT). 到目前為止一切都很好,但我最終使每種@TestFactory方法都在不同的線程上運行,但是單個生成的所有動態測試@TestFactory共享同一個線程(@TestFactory生成這些測試的線程運行)。我的問題是 - 我可以并行運行 @TestFactory 生成的動態測試嗎?也試過這個@TestFactor @Execution(ExecutionMode.CONCURRENT)但結果是一樣的。
查看完整描述

1 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

是的,您可以同時執行動態測試。


dynamicNodeSingleContainer()這是 JUnit 5 用戶指南中測試工廠的修改版本


@TestFactory

@Execution(ExecutionMode.CONCURRENT)

DynamicNode dynamicNodeSingleContainer() {

    return dynamicContainer("palindromes",

        Stream.of("racecar", "radar", "mom", "dad")

            .map(text -> dynamicTest(text, () -> {

                assertTrue(isPalindrome(text));

                System.err.println(Thread.currentThread().getName());

            })

    ));

}

當我執行它時,我看到以下輸出,它表明 4 個動態測試在不同的線程中同時執行。


ForkJoinPool-1-worker-5

ForkJoinPool-1-worker-11

ForkJoinPool-1-worker-7

ForkJoinPool-1-worker-9


查看完整回答
反對 回復 2022-10-12
  • 1 回答
  • 0 關注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號