gpt4 book ai didi

c# - 如何在没有公共(public)构造函数的情况下模拟/伪造/ stub 密封的 OracleException?

转载 作者:太空狗 更新时间:2023-10-29 17:32:27 25 4
gpt4 key购买 nike

在我的测试中,我需要测试抛出 OracleException 时会发生什么(由于存储过程失败)。我正在尝试将 Rhino Mocks 设置为

Expect.Call(....).Throw(new OracleException());

但是无论出于何种原因,OracleException 似乎都没有公开构造函数。我该怎么做才能对此进行测试?

编辑:这正是我要实例化的内容:

public sealed class OracleException : DbException {
private OracleException(string message, int code) { ...}
}

最佳答案

对于 oracle 的托管数据访问(v 4.121.1.0),构造函数再次更改

var ci = typeof(OracleException).GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(int), typeof(string), typeof(string), typeof(string) }, null);
var c = (OracleException)ci.Invoke(new object[] { 1234, "", "", "" });

关于c# - 如何在没有公共(public)构造函数的情况下模拟/伪造/ stub 密封的 OracleException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/122215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com