我有一个使用MSTest的测试项目。我有一个 testsettings 文件,并在该文件中有一个属性。如下。
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="local" id="77572268-dd99-4f8c-a660-f5c8c1eec977"
xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are default test settings for a local test run.</Description>
<Execution>
<TestTypeSpecific>
<UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
<AssemblyResolution>
<TestDirectory useLoadContext="true" />
</AssemblyResolution>
</UnitTestRunConfig>
</TestTypeSpecific>
<AgentRule name="Execution Agents">
</AgentRule>
</Execution>
<Properties >
<Property name="AAA" value="val1"></Property>
<Property name="BBB" value="val2"></Property>
</Properties>
</TestSettings>
但是如何在运行时按名称访问testsettings文件值中的这些属性。我怎么能这样做?
这就是我现在正在尝试的......
[ClassInitialize]
public static void TestClassInitialize(TestContext context)
{
var sad = context.Properties["AAA"].ToString();
}
它提供以下异常
发生了'System.NullReferenceException'类型的异常 TestAutomation.dll但未在用户代码中处理
附加信息:对象引用未设置为的实例 对象
这不是关于 System.NullReferenceException ,而是关于如何在运行时访问测试设置文件中的属性。所以这个问题不重复。
答案 0 :(得分:0)
我怀疑您没有正确配置.runsettings文件。
点击此链接.runsettings file configuration并配置&#34;设置文件&#34;适当的部分。
或者您也可以尝试&#34; TestRunParameters&#34;让这个工作的部分。
答案 1 :(得分:0)
您访问属性的方式不正确。您需要使用runsettings文件。