Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 最小起订量与输出参数无关_C#_Moq - Fatal编程技术网

C# 最小起订量与输出参数无关

C# 最小起订量与输出参数无关,c#,moq,C#,Moq,我试图用Moq来模拟一个有两个OUT参数的方法。这应根据此处的最小起重量样品进行: 我做错了什么 moq实际上不会改变out值。在您发布的示例中,他们将输出值初始化为所需的值(var outString=“ack”)。在代码中,从0开始,期望函数返回正确的值 我没有看到任何文件表明您可以计算出最小起订量值。相反,你的代码应该是 public virtual void TestMethod(IMyDB db) { int Value1 = 500000; decimal Value

我试图用Moq来模拟一个有两个OUT参数的方法。这应根据此处的最小起重量样品进行:


我做错了什么

moq实际上不会改变out值。在您发布的示例中,他们将输出值初始化为所需的值(
var outString=“ack”
)。在代码中,从0开始,期望函数返回正确的值

我没有看到任何文件表明您可以计算出最小起订量值。相反,你的代码应该是

public virtual void TestMethod(IMyDB db)
{
    int Value1 = 500000;
    decimal Value2 = 0.2M;

    db.DoSomething(out Value1, out Value2);

    // look the out values are 500000 and .2M, OMG!!!
 }

有点蹩脚…

我不知道这是问题所在,但在示例中,out变量被声明为
var
,而不是它们的类型。我想试试。还有,我要指出;我找不到任何关于
out
params如何工作的信息,在示例中,他们将out param设置为它“返回”的值-它实际上做了什么吗?好主意。试过了,没什么区别。你想验证什么?从技术上讲,这两个out字段在传递到
DoSomething
之前不需要初始化。您只是想确保调用了
DoSomething
?或者out参数保存期望值?在方法逻辑中,它使用out值执行工作。因此,为了测试代码的其余部分,该方法需要返回与驱动代码路径相关的值:
public virtual void TestMethod(IMyDB db)
{
    int Value1 = 0;
    decimal Value2 = 0.0M;

    db.DoSomething(out Value1, out Value2);

    // Check Values
}
public virtual void TestMethod(IMyDB db)
{
    int Value1 = 500000;
    decimal Value2 = 0.2M;

    db.DoSomething(out Value1, out Value2);

    // look the out values are 500000 and .2M, OMG!!!
 }