簡體   English   中英

預期 worker.ExecuteTask.IsCanceled 為 true,但發現為 False

[英]Expected worker.ExecuteTask.IsCanceled to be true, but found False

我創建了一個工人服務項目。 另外,添加一個單元測試項目( xunit )。 這個單元測試每次都失敗。 在此處輸入圖像描述

    [Fact]
    public async Task ShouldCancelWorker()
    {
        CancellationTokenSource source = new CancellationTokenSource();
        CancellationToken token = source.Token;
        await worker.StartAsync(token);

        source.Cancel();

        worker.ExecuteTask.IsCanceled.Should().BeTrue();
    }

它總是返回 true 任何想法如何解決這個問題

我假設您檢查已取消令牌(token.IsCancellationRequested)的邏輯是正確的。 在這種情況下,您應該在 source.Cancel() 和 worker.ExecuteTask.IsCanceled.Should().BeTrue() 之間放置一個延遲,以便能夠在 worker 執行循環中通過一次迭代。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM