在Java中是否有一个与系统属性等价的c#测试
本文关键字:测试 属性 系统 Java 是否 有一个 | 更新日期: 2023-09-27 18:09:04
我希望能够传递一个系统参数- "host"到MStest套件。要为持续集成创建自动化作业,我希望能够将主机指定为参数,以便在该特定主机上运行测试。我在大多数情况下找不到这样的选择。在Java中,-Dhost="localhost"可以工作,它可以指定为正在运行的VM的参数。c#的MStest中有类似的方法吗?
没有与您提到的Java系统属性等价的东西。这里有一些关于如何近似你正在寻找的东西的想法:
[1]
Visual Studio测试支持确实包括测试运行配置(在Visual Studio 2010中更名为测试设置)。这是一个文件,它指定了控制测试运行的各个方面的许多设置。例如,您可以在您的测试旁边部署额外的文件,或者在您的测试运行开始之前运行一个"setup"批处理脚本。
如果你有一个有限的主机集,你可以有一个单独的测试运行配置/测试设置为每个主机。每个配置/设置将部署一个包含不同主机名称的文件。然后,您可以将该文件作为单元测试设置的一部分读入,也许是从您的[TestInitialize]
方法读入。有点矫揉造作,但也许能达到你的目的。
[2]
您可以在运行测试之前设置一个系统环境变量(例如,"TESTHOST
"),然后从测试中读取该环境变量。您可以将所有这些都封装在一个简单的程序或批处理脚本中,该脚本接受一个参数来设置环境变量、调用mstest,然后取消对环境变量的设置。例如,这篇StackOverflow的文章可能会给你一些关于如何使用PowerShell做这样的事情的想法。
我不相信有完全相等的。相反,请尝试利用。net配置文件:
将应用程序配置文件(App.config)添加到您的MSTest项目中。在appSettings部分添加"system"属性作为键。在您的测试中使用ConfigurationManager.AppSettings
集合引用这些值。