我试图在我的项目中测试一些异常,并且我遇到的一个例外是SQlException.
看来你不能new SqlException()这样做我不知道怎么能抛出一个异常,特别是没有以某种方式调用数据库(因为这些是单元测试,通常建议不要调用数据库,因为它很慢).
我正在使用NUnit和Moq,但我不确定如何伪造这个.
回应一些似乎都基于ADO.NET的答案,请注意我使用的是Linq to Sql.这样的东西就像在幕后.
根据@MattHamilton的要求提供更多信息:
System.ArgumentException : Type to mock must be an interface or an abstract or non-sealed class.
at Moq.Mock`1.CheckParameters()
at Moq.Mock`1..ctor(MockBehavior behavior, Object[] args)
at Moq.Mock`1..ctor(MockBehavior behavior)
at Moq.Mock`1..ctor()
Run Code Online (Sandbox Code Playgroud)
在尝试模型时发布到第一行
var ex = new Mock<System.Data.SqlClient.SqlException>();
ex.SetupGet(e => e.Message).Returns("Exception message");
Run Code Online (Sandbox Code Playgroud) 如何访问程序集的内部类?假设我想访问System.ComponentModel.Design.DesignerHost.这里的DesignerHost是一个内部密封的类.
如何编写代码来加载程序集和类型?