2012-12-02 50 views

回答

3

是的,事實上我現在有一個這樣的解決方案在我的機器上打開。我的建議是「不要這樣做!」。

我打開溶液和nCrunch(這是一個簡單的超高效的測試澆道)啓動一些試驗我們使用統籌多個服務器的調度系統。其中一些測試檢查時間尺度,並確保過程按照它們應有的開始和停止。你可以這樣說,因爲每次我嘗試輸入一些東西時,會彈出一個calc.exe窗口來竊取我的注意力,並且它真的阻礙了你的工作。這就是你真正想做的事情嗎?

別忘了SpecFlow是一個真正的業務需求自動化系統,這是「一件好事」。但到目前爲止,您只關注技術問題。

我建議你再考慮一下你的要求。如果你想啓動一個流程並檢查它與你的交互,那麼只需測試它的參數和結果。如果需要隔離其功能(如我在寫測試時沒有這樣做,請使用模擬)。嘗試儘可能簡單地進行測試。

想想這樣。 - 你真的需要測試Process.Start打開一個窗口嗎?毫無疑問,MS拿到了這個權利? :-) - 你真的需要測試Console.ReadLine獲取一個字符串嗎? - 如果你單獨測試MyArgumentParser和MyBusinessLogic並將它們分開,你的測試會不會更簡單?

+0

不,我不需要測試Process.Start或Console.ReadLine。我想測試我編寫的代碼,在使用我的API來完成任務之前解析測試輸入。我在想,答案是將代碼稍微遠離控制檯應用程序,這樣我就可以測試它,而無需啓動控制檯。體面的答案,謝謝:) –

相關問題