我们正在使用Visual Studio 10集成的MS单元测试来构建我们的单元测试.
如果尝试访问此功能的用户具有正确的权限,那么我们的应用程序中的某些功能只能正常工作 - 比如是计算机的管理员(甚至是评估的管理员(取决于目标系统).例如,我们正在创建新的功能性能计数器 - 您需要成为管理员.
现在,我想用单元测试来测试这些功能.当我以管理员身份启动VS时,一切都很好.但我们也有一个自动构建系统(Jenkins),它与普通用户一起运行单元测试.问题是,当运行单元测试的用户没有运行它们的权限时,是否有一种很好的方法(比如方法属性)跳过测试.
编辑1
基于目标机器更改配置并不能让我满意.我刚刚找到了TestClassExtensionAttribute类和一些很好的教程如何实现它.我现在会尝试这样做,因为在开发测试时要容易得多.
您可以在测试中使用TestCategories.只需标记您的测试:
[TestCategory("Admin") TestMethod()] public Void DebitTest() { }
然后排除类别:
mstest /testcontainer:MyTestprojectName.dll /category:"!Admin"
您可以在每个测试中使用多个类别
在这里查看更多:http: //msdn.microsoft.com/en-us/library/dd286683.aspx