C# 在继承类中调用时,测试上下文值为null
我有一个测试方法,在其中我调用了一个函数,在该函数中,它进一步调用了evaluate函数,如下所述C# 在继承类中调用时,测试上下文值为null,c#,selenium,testcontext,C#,Selenium,Testcontext,我有一个测试方法,在其中我调用了一个函数,在该函数中,它进一步调用了evaluate函数,如下所述 protected bool Evaluate(bool condition, string message) { if (!condition) { Driver.Browser.GetScreenShot(@SKPConfigSettings.Logging.ScreenShotPath, TestContext.TestName
protected bool Evaluate(bool condition, string message)
{
if (!condition)
{
Driver.Browser.GetScreenShot(@SKPConfigSettings.Logging.ScreenShotPath, TestContext.TestName, Core.Drivers.Enums.ScreenshotFormat.Png, true);
Logger.LogError(message);
Logger.LogError(Constants.Messages.TCFail);
return false;
}
else
return true;
}
问题是
TestContext。TestName
总是null
,它不获取方法名称。它在测试方法中获取方法名,但不是以这种方式。谁能提供解决方案 看起来它是一个从未初始化过的公共静态变量。最好使用类的实例,而不是使它们成为静态的,以防止未初始化的变量。不,我没有将其声明为静态的,它是这样声明的:publictestcontext TestContext{get;set;}您需要提供其余的代码。包括整个文件以及testcontent类。这就是在类和属性使用相同名称时发生的情况。请尝试使属性名以小写字母“t”开头。@jdweng-即使是小写字母也不起作用。