0

クラスと呼ばれるGitHub の Microsoft による Code sampleSqlServerRetryingExecutionStrategyから継承しましたMySQLServerRetryPolicy

ShouldRetryOnのオーバーライドされたメソッドにキャンセルトークンを追加したMySQLServerRetryPolicyので、Ctrl+C を押して NET.Core コンソールを強制終了できました。以下にコード スニペットを示します。

protected override bool ShouldRetryOn(Exception exception) {
        _retryCancellationToken.ThrowIfCancellationRequested();}

使用方法は次のMySQLServerRetryPolicyとおりです。

                builder.UseSqlServer(ConnectionString, options => {
                options.ExecutionStrategy(exeStrategyDependencies=>
                                              new MySQLServerRetryPolicy(
                                                  exeStrategyDependencies, _errorNumRetryList, RetryCancelToken.Token));

builder上記の変数は の型ですDbContextOptionsBuilder

ただし、単体テストでは、SQl 再試行ポリシーが永久に実行されているかどうかを示す出力はありません。

質問: 単体テストで SQL 再試行ポリシーを無視またはスキップするにはどうすればよいですか?

4

0 に答える 0