2012-09-08 37 views
2

我在這裏有一個在Visual Studio中的Windos服務項目,因爲如果不安裝它就無法啓動服務,我必須編譯+卸載舊服務+安裝新服務,如果我想要在我的代碼上測試一些更改。這是永恆的。測試Windows服務項目需要很長時間

有沒有更簡單的方法來測試Windows服務?謝謝

+2

可能是沿着 this鏈接。 – Agent007

+0

你的代碼是如何工作的?雖然它在service_中,但它自己工作得很好嗎? –

+2

如果需要,您可以僅將應用程序作爲應用程序運行(即不安裝)。我在這裏提供了更多的細節:http://bit.ly/LFEk6d –

回答

2

從VS作爲控制檯應用程序運行服務。事實上,如果你很聰明,你可以測試是否

Environment.UserInteractive

這樣一個簡單的「如果」,如果你在運行它,你可以有你的服務正常運行,沒有Windows服務的東西交互模式,或者如果它作爲服務運行,則執行正常的服務啓動。

1

當測試服務時,我通常會建議將功能從託管中分離出來。並以獨立的方式測試功能。

這意味着你可能會在OnStart中產生一個工作線程,並且這個線程實例化並調用一些表示該服務實際工作的類方法。從技術上講,這段邏輯不應該明確關心它運行的地方,控制檯應用程序,Windows服務或Web服務等。

II會建議您直接測試此邏輯,例如在單元測試中,邏輯是由視覺工作室本身主辦。這並不是說您不應該測試服務,但可以手動或自動完成,特別是在QA或Sanity測試期間,運行需要很長時間執行的測試才行。

相關問題