2012-12-02 49 views

回答

3

是的,事实上我现在有一个这样的解决方案在我的机器上打开。我的建议是“不要这样做!”。

我打开溶液和nCrunch(这是一个简单的超高效的测试浇道)启动一些试验我们使用统筹多个服务器的调度系统。其中一些测试检查时间尺度,并确保过程按照它们应有的开始和停止。你可以这样说,因为每次我尝试输入一些东西时,会弹出一个calc.exe窗口来窃取我的注意力,并且它真的阻碍了你的工作。这就是你真正想做的事情吗?

别忘了SpecFlow是一个真正的业务需求自动化系统,这是“一件好事”。但到目前为止,您只关注技术问题。

我建议你再考虑一下你的要求。如果你想启动一个流程并检查它与你的交互,那么只需测试它的参数和结果。如果需要隔离其功能(如我在写测试时没有这样做,请使用模拟)。尝试尽可能简单地进行测试。

想想这样。 - 你真的需要测试Process.Start打开一个窗口吗?毫无疑问,MS拿到了这个权利? :-) - 你真的需要测试Console.ReadLine获取一个字符串吗? - 如果你单独测试MyArgumentParser和MyBusinessLogic并将它们分开,你的测试会不会更简单?

+0

不,我不需要测试Process.Start或Console.ReadLine。我想测试我编写的代码,在使用我的API来完成任务之前解析测试输入。我在想,答案是将代码稍微远离控制台应用程序,这样我就可以测试它,而无需启动控制台。体面的答案,谢谢:) –

相关问题