虽然我当前的上下文与SharePoint相关,但这个问题适用于我希望运行相同测试集但具有不同参数的测试。
我现有的测试可以针对SharePoint 2010测试我的Sharepoint代码(使用SharePoint客户端对象模型)。这一切都正常。基类中的帮助器方法为SharePoint 2010实例提供了适当的URL。
我现在也希望针对SharePoint 2013运行这些测试。我正在考虑为SharePoint 2013创建另一个测试配置,并根据正在执行的配置,我可以使用相应的URL。在使用' ClassInitialize'装饰的方法中。属性我没有获得有关正在使用的testsettings文件的任何信息,因此无法知道正在执行哪个配置。
如何实现我的目标 - 针对SharePoint 2010和2013运行相同的测试?
答案 0 :(得分:0)
向解决方案中添加一个名为config1.RunSettings
的文件。将参数添加到文件以更改配置。
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<TestRunParameters>
<Parameter name="config" value="config1" />
</TestRunParameters>
</RunSettings>
AssemblyInit
将在测试开始之前运行一次。使用进行任何配置更改。
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UnitTestProject1
{
[TestClass]
public class SetupAssemblyInitializer
{
[AssemblyInitialize]
public static void AssemblyInit(TestContext context)
{
// Initalization code goes here
// https://stackoverflow.com/questions/2382552/is-it-possible-to-execute-code-once-before-all-tests-run
// set load configuration from runsettings here
context.Properties["config"];
}
}
}