此问题的完整上下文如下:
目的是“黑匣子”测试系统(Web应用程序)的功能,其中被测系统将向外部站点发出http请求。为了进行测试,我们选择Owin / WebApi作为模拟外部站点的最便捷方法。
请注意,所有SpecFlow代码(功能和步骤代码,包括Owin WebApi应用程序模拟)都在一个进程中执行;除了WebApi控制器方法之外的所有其他东西都在一个线程中执行。
步骤代码出于诊断目的进行Console.WriteLine
调用;就像WebApi控制器一样。
问题是,并非WebApi控制器中的所有Console.WriteLine
都出现在最终测试输出中。
WriteLine
输出;在所有其他情况下,WebApi控制器的WriteLine
输出都会消失。 Console.WriteLine
调用都已完成;出于某种原因,输出消失了。这个问题的可能原因(WebApi vs NUnit vs SpecFlow)尚不清楚,但似乎在第一种情况完成后,WebApi控制器/线程的“标准输出”似乎正在发生变化(可能是重定向)
在WebApi / Owin或NUnit中使用标准输出/控制台输出时是否存在任何已知问题,可能会解决观察到的问题?如果是,是否有任何解决方案或解决方法?