小编Pet*_*sen的帖子

无法让DbSet.Find与Moq一起使用(使用实体框架)

由于某种原因,此代码一直在失败.任何可以告诉我原因的人:

        var activeLoans = new List<ActiveLoan> {
            new ActiveLoan{
               ID = 1,
               CaseType = "STL",
               LoanCode = 0
            },
            new ActiveLoan{
               ID = 2,
               CaseType = "STL",
               LoanCode = 0
            },
            new ActiveLoan{
               ID = 3,
               CaseType = "STL",
               LoanCode = 0
            }
        }.AsQueryable();

        var activeLoanMockSet = new Mock<DbSet<ActiveLoan>>(); 
        activeLoanMockSet.As<IQueryable<ActiveLoan>>().Setup(m => m.Provider).Returns(activeLoans.Provider);
        activeLoanMockSet.As<IQueryable<ActiveLoan>>().Setup(m => m.Expression).Returns(activeLoans.Expression);
        activeLoanMockSet.As<IQueryable<ActiveLoan>>().Setup(m => m.ElementType).Returns(activeLoans.ElementType);
        activeLoanMockSet.As<IQueryable<ActiveLoan>>().Setup(m => m.GetEnumerator()).Returns(activeLoans.GetEnumerator());
        mockContext.Setup(c => c.ActiveLoans).Returns(activeLoanMockSet.Object);


        // This is the line that fails
        Assert.AreNotEqual(mockContext.Object.ActiveLoans.Find( 1 ), null);
Run Code Online (Sandbox Code Playgroud)

当我说失败时,我的意思是单元测试这是失败的一部分.

c# entity-framework moq

24
推荐指数
1
解决办法
6893
查看次数

将 Write-Host 的输出传送到其他命令

我有这个脚本,它根据某些自助餐厅查找文件并使用 Write-Host 写入它们的路径。现在,我想通过管道传输所有这些文件路径,并对这些文件进行处理。

基本上第一个脚本是这样的:

FindFiles.ps1:
Write-Host "C:\SomeDir\file1.txt"
Write-Host "D:\OtherDir\file2.txt"
Run Code Online (Sandbox Code Playgroud)

现在我想做这样的事情:

FindFiles.ps1 | foreach { Copy-Item $_ c:\backup\ }
Run Code Online (Sandbox Code Playgroud)

但显然这是行不通的。(实际上我想做一些比复制文件夹更复杂的事情,但这是另一个问题:-))

powershell pipe write-host

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

标签 统计

c# ×1

entity-framework ×1

moq ×1

pipe ×1

powershell ×1

write-host ×1