Unit testing 使用不同的参数运行相同的MSTest测试

Unit testing 使用不同的参数运行相同的MSTest测试,unit-testing,sharepoint,sharepoint-2010,mstest,sharepoint-2013,Unit Testing,Sharepoint,Sharepoint 2010,Mstest,Sharepoint 2013,虽然我当前的上下文与SharePoint相关,但这个问题通常适用于我希望使用不同参数运行相同测试集的测试 我有针对Sharepoint 2010测试Sharepoint代码(使用Sharepoint客户端对象模型)的现有测试。这一切都很好。基类中的帮助器方法为SharePoint 2010实例提供适当的url 我现在还想对SharePoint 2013运行这些测试。我正在考虑为SharePoint 2013创建另一个测试配置,根据正在执行的配置,我可以使用适当的url。在用“ClassIniti

虽然我当前的上下文与SharePoint相关,但这个问题通常适用于我希望使用不同参数运行相同测试集的测试

我有针对Sharepoint 2010测试Sharepoint代码(使用Sharepoint客户端对象模型)的现有测试。这一切都很好。基类中的帮助器方法为SharePoint 2010实例提供适当的url

我现在还想对SharePoint 2013运行这些测试。我正在考虑为SharePoint 2013创建另一个测试配置,根据正在执行的配置,我可以使用适当的url。在用“ClassInitialize”属性修饰的方法中,我没有得到任何关于正在使用的testsettings文件的信息,因此无法知道正在执行的配置

如何实现我的目标-对SharePoint 2010和2013运行相同的测试?

设置MSTest项目以使用多种配置 创建一些运行设置文件 将名为
config1.RunSettings
的文件添加到解决方案中。向文件中添加参数以更改配置


添加一些初始化代码
AssemblyInit
将在测试开始前运行一次。使用进行任何配置更改

使用Microsoft.VisualStudio.TestTools.UnitTesting;
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间UnitTestProject1
{
[测试类]
公共类SetupAssemblyInitializer
{
[汇编初始化]
公共静态void AssemblyInit(TestContext上下文)
{
//初始化代码在这里
// https://stackoverflow.com/questions/2382552/is-it-possible-to-execute-code-once-before-all-tests-run
//在此处从runsettings设置加载配置
context.Properties[“config”];
}
}
}
在每次运行之前选择测试设置文件

是否从VS内部运行测试?VS内部,以及通过使用mstest.exe运行所有配置的生成过程运行测试,就像您希望使用DataSource属性一样。它允许您将参数传递给测试方法,对于url之类的东西非常有用。