我在Visual Studio中有一个Windos服务项目,因为不安装它就不能启动服务,所以如果我想测试代码上的一些更改,我必须一次又一次地编译+卸载旧服务+安装新服务。这要花上好长时间了。
有没有更简单的方法来测试windows服务?谢谢
发布于 2012-09-08 22:11:37
将VS中的服务作为控制台应用程序运行。事实上,如果你很聪明,你可以测试
Environment.UserInteractive
通过这种方式,只要一个简单的" if“,你就可以让你的服务正常运行,如果你在交互模式下运行它,或者如果它作为一个服务运行,你可以执行正常的服务启动,而不需要windows服务。
发布于 2012-09-08 22:15:40
在测试服务时,我通常会建议将功能与托管分离。并以独立的方式测试功能。
这意味着您可能会在OnStart中产生一个工作线程,这个线程实例化并调用一些表示服务实际工作的类方法。从技术上讲,这段逻辑不应该显式地关心它在哪里运行,控制台应用程序,windows服务或web服务等。
我建议您直接测试此逻辑,例如在单元测试中,在单元测试中,逻辑由visual studio本身托管。这并不是说您不应该测试服务,但这可以手动或自动完成,特别是在QA或健全性测试期间,在QA或健全性测试期间,可以运行需要很长时间执行的测试。
https://stackoverflow.com/questions/12331356
复制相似问题