创建具有扩展变量的脚本块

问题描述

我知道在herehere之前已经问过这个问题。但是出于一个或另一个原因,它实际上对我们不起作用。

所需结果

2个可与pester参数ParameterFilter一起使用的脚本块,仅扩展了变量$testTable

{
    ($Query -like "*SELECT * FROM tableOne* 
        WHERE TicketNr IS NOT NULL AND TicketCloseDate IS NULL*")
}
{
    ($Query -like "*SELECT * FROM tableWto* 
        WHERE TicketNr IS NOT NULL AND TicketCloseDate IS NULL*")
}

下面的代码不起作用,因为我们需要转义$testQuery中的所有内容。是否没有办法只扩展$testTable而不扩展其他部分?

foreach ($testTable in @('tableOne','tableTwo')) {
    $testQuery = "*SELECT * FROM $testTable* 
    WHERE TicketNr IS NOT NULL AND TicketCloseDate IS NULL*"
    
    [ScriptBlock]::create("`$Query `-like $testQuery")
}

解决方法

我想我明白了:

foreach ($testTable in @('tableOne','tableTwo')) {   
    [ScriptBlock]::create(@"
    (`$Query -like  "*SELECT * FROM $testTable*
    WHERE TicketNr IS NOT NULL AND TicketCloseDate IS NULL*" )
"@)
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...