我正在使用xUnit和Moq编写测试用例。
当前,我正在为遥测类编写测试用例。
concurrent.futures
在Test类中,我该如何模拟关键变量。我曾经为模拟方法编写以下代码。
public class TelemetryClientMock : ITelemetryClientMock
{
public string key { get; set; } //I want to mock key variable.
private TelemetryClient telemetry;
public TelemetryClientMock( )
{
telemetry = new TelemetryClient() { InstrumentationKey = key };
}
public void TrackException(Exception exceptionInstance, IDictionary<string, string> properties = null)
{
telemetry.TrackException(exceptionInstance, properties);
}
public void TrackEvent(string eventLog)
{
telemetry.TrackEvent(eventLog);
}
}
如何模拟变量。
答案 0 :(得分:3)
您可以根据需要使用Setup
,SetupProperty
,SetupGet
来实现:
mockTelemetryClient.Setup(x => x.key).Returns("foo");
或
mockTelemetryClient.SetupProperty(x => x.key, "foo");
或
mockTelemetryClient.SetupGet(x => x.key).Returns("foo");
正如Alves RC所指出的,假定key
接口中存在ITelemetryClientMock
属性。