我正在使用[BeforeTestRun]挂钩进行一些初始设置,以进行我的Specflow测试。这确实会检查某些用户以确保它们是否存在,如果不存在,则使用特定的角色和权限创建它们,以便自动化测试可以使用它们。该功能可以在Console.Writeline上打印许多有用的信息。 当我在本地运行测试时,可以在主要功能文件上看到此钩子函数的输出,以及每个场景下每个场景的输出。但是,当我通过Azure DevOps pipleine运行测试时,我不确定[BeforeTestRun]的输出在哪里,因为它没有绑定到特定的测试方案。 “运行测试任务”控制台没有有关此的信息。
有人可以帮我在某处显示此输出,以便我采取相应的行动。
我尝试使用System.Diagnostics.Debug.Print,System.Diagnostics.Debug.Print,System.Diagnostics.Debug.WriteLine,System.Diagnostics.Trace.WriteLine,但似乎在管道控制台上没有任何作用
[BeforeTestRun]
public static void BeforeRun()
{
Console.WriteLine(
"Before Test run analyzing the users and their needed properties for performing automation run");
}
我希望我的输出在某处可见,这样我就可以根据需要采取行动。
答案 0 :(得分:2)
控制台日志是不可能的。
该产品当前不支持通过打印控制台日志以通过测试,并且我们目前还没有计划在不久的将来对此进行支持。
但是,还有另一种方法:
您的版本将带有文件扩展名.trx
的附件。这是一个xml文件,其中包含每个测试的Output
元素(另请参见https://stackoverflow.com/a/55452011):
<TestRun id="[omitted]" name="[omitted] 2020-01-10 17:59:35" runUser="[omitted]" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Times creation="2020-01-10T17:59:35.8919298+01:00" queuing="2020-01-10T17:59:35.8919298+01:00" start="2020-01-10T17:59:26.5626373+01:00" finish="2020-01-10T17:59:35.9209479+01:00" />
<Results>
<UnitTestResult testName="TestMethod1">
<Output>
<StdOut>Test</StdOut>
</Output>
</UnitTestResult>
</Results>
</TestRun>