C# 从gulp nunit运行结果隐藏SamlMessageSignature输出
当使用C# 从gulp nunit运行结果隐藏SamlMessageSignature输出,c#,.net,gulp,nunit,saml-2.0,C#,.net,Gulp,Nunit,Saml 2.0,当使用gulp nunit runner为SAMLMessageSignature运行nunit测试时,正在签名的消息将显示在控制台输出中。像noresult=true、verbose=false、trace='Off'这样的选项没有效果。我可以将输出重定向到一个文件,但我不想这样做。 使用带有--trace=Off--noresult选项的nunit3 console.exe时,没有输出,只有测试运行摘要 有没有一种方法可以防止SAMLMessage在不将整个输出重定向到文件的情况下打印到控制
gulp nunit runner
为SAMLMessageSignature
运行nunit测试时,正在签名的消息将显示在控制台输出中。像noresult=true、verbose=false、trace='Off'
这样的选项没有效果。我可以将输出重定向到一个文件,但我不想这样做。
使用带有--trace=Off--noresult
选项的nunit3 console.exe
时,没有输出,只有测试运行摘要
有没有一种方法可以防止SAMLMessage在不将整个输出重定向到文件的情况下打印到控制台输出
示例测试:
[Test]
public void SamlMessageSignatureGenerate_SamlDocumentAndValidCert_ProducesSignedSamlMessage(
[ValueSource(nameof(MessagesToSign))] string samlMessage,
[ValueSource(nameof(Certs))] X509Certificate2 cert,
[ValueSource(nameof(SupportedSignatureMethods))] string signatureMethod,
[ValueSource(nameof(SupportedDigestMethods))] string digestMethod)
{
XmlElement samlDoc = SamlLoader.LoadXmlFromString(samlMessage).DocumentElement;
string inclusiveNamespacesPrefixList = null;
SAMLMessageSignature.Generate(samlDoc, cert.PrivateKey, cert, inclusiveNamespacesPrefixList, digestMethod, signatureMethod);
SAMLMessageSignature.IsSigned(samlDoc).Should().BeTrue();
}
由于某种原因,samlMessage
在控制台输出中结束。选项--result
,--noresult
,--trace
与控制台输出无关,但可用于其他用途
选项--verbose
可用于为NUnit生成的部分(仅部分)消息提供更多详细信息
控制台输出可以使用--out
选项重定向到文件,这会影响测试发送到控制台的所有输出。最有可能的是,SAML输出看起来像是由测试生成的
在这种情况下,如果希望抑制特定测试生成的输出,有两个选项:
[非并行]
要重定向控制台,请创建一个StringWriter
,并在测试期间将console.Out
设置为该控制台。如果您愿意,您可以检查作为测试一部分编写的内容
如果特定夹具中的所有测试都需要抑制控制台输出,那么您可以通过[SetUp]
或[OneTimeSetUp]
方法进行。否则,可以在每个单独的测试中使用语句进行测试