2012-09-08 38 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测试期间,运行需要很长时间执行的测试才行。

相关问题