ユニットテストにMicrosoft.VisualStudio.TestTools.UnitTesting
を使用しています。Assert.ThrowsException例外がスローされたときにテストが失敗する
私は例外がスローされたと主張して、このテストを持っており、それは私がそれをデバッグする場合、コードの最後の行がエラーの前に実行し、失敗したために
[TestMethod]
public async Task ShouldThrowHttpExceptionIfPassedObjectIsNull()
{
_mockLogger = new Mock<ILogger<DataService>>();
// setup memoryCache
object expected = null;
_mockNullMemoryCache = MockMemoryCacheService.GetNullMemoryCache(expected);
_mockSessionManagementService = new MockSessionManagementService();
_ds = new DataService(
_mockLogger.Object,
_mockNullMemoryCache.Object,
_mockSessionManagementService
);
Assert.ThrowsException<HttpException>(() => _ds.RetrieveFileData<object>(_incorrectFilePath, false));
}
を失敗しているがこれです
例外ex
はですが、何が問題であってもHttpExceptionがスローされるので問題はありません。なぜテストが理由で失敗している:
テスト名:ShouldThrowHttpExceptionIfPassedObjectIsNullテスト フルネーム:xxx.xxx.xxx.xxx.ShouldThrowHttpExceptionIfPassedObjectIsNull テスト 出典:C:\ Users \ユーザーxxxは\ xxx.cs :ライン88テスト結果:失敗した試験時間:0:04:35.5251661
結果のStackTrace:xxxxxx.d__10.MoveNext() で でC:\ Users \ユーザーxxxは\ XXX \ xxx.cs:ライン - - 以前の場所からのstackトレースの終点、exceptio nは System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotificationで System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(タスク タスク)(タスク タスク)結果メッセージで---スローされました:Assert.ThrowsExceptionに失敗しました。例外はありません がスローされました。 HttpException例外が予想されました。
EDITコードは、画像の後に、このコードブロックに移動 :
else
{
// Parsing issue
_logger.LogError(string.Format("Id={0}, Could not retrieve data from {1} : Malformed source data", _sessionManagementService.SessionId, url));
throw new HttpException(HttpStatusCode.InternalServerError, "Malformed source data", true);
}
それは上記HttpExceptionを投げているように、それはDllNotFoundExceptionをスロー。スロー
例外: System.Private.CoreLib.ni.dll
追加情報の 'System.DllNotFoundException': 指定されたモジュールが見つかりませんでした:DLL 'combase.dll' をロードできません。 。 (HRESULTからの例外:0x8007007E )
@ThomasWellerいいえ、テストは、スローされたHttpExceptionのテストです。 – BeniaminoBaggins