我有自己的例外,并且由于 SonarQube,我實作了 System.Exception 的所有 4 個基本結構:
[Serializable]
public class DatabaseVersionNotReadableException : Exception
{
private static readonly string Text = "Database Version not found or not readable: {0}";
public DatabaseVersionNotReadableException()
{
}
public DatabaseVersionNotReadableException(string version)
: base(String.Format(Text, version))
{
}
public DatabaseVersionNotReadableException(string version, Exception exception) : base(String.Format(Text, version), exception)
{
}
protected DatabaseVersionNotReadableException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
}
}
對前 3 個 const 進行單元測驗非常容易,但我不知道如何正確設定 SerializationInfo 和/或 StreamingContext 以進行簡單的測驗。我試著用谷歌找到它,但似乎沒有關于它的資訊。
如何進行單元測驗?
uj5u.com熱心網友回復:
該 APIBinaryFormatter用于自定義反序列化;所以:用 . 序列化和反序列化你的例外BinaryFormatter。
除了,不要;BinaryFormatter已過時,已棄用且危險。IMO,除非您絕對需要該功能(例如,您在 .NET Framework 中使用“遠程處理”并預計此例外會超出遠程邊界):不要包含它,也不要添加[Serializable].
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/511442.html
標籤:C#单元测试例外
