如何更改执行测试(MSTest)的用户?
我正在创建一个与 Windows 服务一起使用的库(轮询它们的状态、启动它们、检查它们的 cpu 使用情况等)。我正在为这个库编写单元测试。我需要更改测试运行所使用的用户,以便他们有权执行某些操作(启动服务)。
如何更改运行测试的身份?
谢谢,
I am creating a library to work with windows services (poll their status, start them, check their cpu usage, etc). I am writing unit tests for this library. I need to change the user that is used by the test runs so that they have permision to perform some actions (start a service).
How can I change the identity the tests run under?
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对此没有特定的测试解决方案。简短的答案是:使用 LogonUser() 模拟您需要的用户。长答案要长得多,因为 LogonUser() 是 Win32 调用。
看看这个 试图解决您的问题的博客。
我更喜欢这个用于调用 LogonUser 的代码项目实现。如果您稍微搜索一下,实际上有很多 LogonUser() 的代码项目示例。
There isn’t a test specific solution to this. The short answer is: Impersonate the user you need using LogonUser(). The long answer is much longer, because LogonUser() is a Win32 call.
Take a look at this blog that’s trying to solve your problem.
I liked this codeproject implementation for calling LogonUser better. There's actually many codeproject examples of LogonUser() if you search around a little.