【问题标题】:Mocking the throwing of exceptions with Microsoft Moles [duplicate]使用 Microsoft Moles 模拟抛出异常 [重复]
【发布时间】:2012-12-24 12:03:18
【问题描述】:

可能重复:
How to throw a SqlException(need for mocking)

我想在执行ExecuteNonQuery 时模拟SqlException 的投掷;

System.Data.SqlClient.Moles.MSqlCommand.AllInstances.ExecuteNonQuery =
            (command) =>
                {
                    throw new MSqlException();
                };

这不起作用,因为编译器抱怨 MSqlException 不是从 Exception 派生的。我是不是走错了路,我需要在我的代码中包装ExecuteNonQuery 来实现这一点吗?

【问题讨论】:

标签: c# unit-testing exception-handling mocking moles


【解决方案1】:

如果您要抛出 SqlException,我希望这会起作用。它继承自DbException,后者继承自ExternalException,后者继承自ExternalException

如果您编写自定义异常(我假设MSqlException 是一个),您仍然应该从异常类继承...

public class MSqlException: SqlException {

【讨论】:

    【解决方案2】:

    在另一个问题中找到了答案。鼹鼠需要铸造。

    stackoverflow.com/a/3795751/771698

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-30
      • 1970-01-01
      相关资源
      最近更新 更多