小编Tee*_*Zee的帖子

Moq:设置不返回值的方法

我正在尝试模拟对存储库的调用。当存储库调用使用 Setup().Returns 返回值时,我可以成功执行此操作:

mock.Setup(m => m.Get(param)).Returns(new CustomObject());
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试对不返回任何值的存储库调用执行相同类型的设置时,Moq 会抛出异常并告诉我此方法从未在模拟上调用 ieExpected 调用 1 次,而是 0 次

准确地说,我正在这样做:

mock.Setup(m => m.UpdateRepository(param1)); // UpdateRepository returns no value
service.DoUpdate(param1);
mock.Verify(m => m.UpdateRepository(param1), Times.Exactly(1));
Run Code Online (Sandbox Code Playgroud)

注意:DoUpdate方法仅调用repository.UpdateRepository(param1);

在这种情况下,我是否没有正确使用起订量设置?是否有其他不返回值的安装方法?

提前致谢!

moq

4
推荐指数
1
解决办法
5750
查看次数

带有哈希表头的Powershell CSV

我有一个带标题行的csv文件,我想将其转换为Hashtable。

例如,这是我的输入:

#Version1.0
#Fields:ID,Data
1,data1
2,data2
3,data3
Run Code Online (Sandbox Code Playgroud)

我希望输出是其中键= ID和值=数据的哈希表。

这就是我所拥有的,但结果并不完全符合我想要的。

$mytable = Import-Csv -Path $filePath -Header ID,Data
$HashTable=@{}
foreach($r in $mytable)
{
    $HashTable[$r.ID]=$r.Data
}
Run Code Online (Sandbox Code Playgroud)

这将创建我的表,但是当我稍后通过$ str = $ Hashtable |输出时。字符串写主机$ str

我得到以下内容:

Name                  Value
--------              -----------
#Fields:ID            Data
1                     data1
2                     data2
3                     data3
Run Code Online (Sandbox Code Playgroud)

如何摆脱将标头写入哈希表的问题?有没有比坚持if($ r.ID.StartsWith(“#”)){继续;}?

谢谢!-C

csv powershell

4
推荐指数
3
解决办法
3万
查看次数

标签 统计

csv ×1

moq ×1

powershell ×1