如何解决在单元测试用例中重置模拟数据
我正在使用 Rhino Mock 并希望根据单元测试中传递的参数设置不同的数据。当我单独运行它们时,它们会按预期运行,但是当我并行运行它们时,即使执行 if-else 代码,数据集也不会改变。
public SetMockData(bool pass=true)
{
var jsonDataPass = "{\"results\":[{\"a\":\"12345\",\"StatusId\":\"12\",\"Id\":\"30\",\"PrimaryId\":\"1\"}";
var jsonDataFails = "{\"results\":[{\"a\":\"12875\",\"StatusId\":\"13\",\"Id\":\"34\",\"PrimaryId\":\"2\"}";
var apiclient = MockRepository.GenerateMock<Iapiclient>();
apiclient.Stub(x => x.GetApiUrl(null,null)).IgnoreArguments().Return("");
if (pass)
{
apiclient.Stub(x => x.ExecuteAsync<JToken>(Arg<string>.Is.Anything,Arg<HttpMethod>.Is.Anything,Arg<StringContent>.Is.Anything)).IgnoreArguments().Return(Task.Fromresult(new ServiceResponse<JToken>
{
Data = JObject.Parse(jsonDataPass),Outcome = Success
}));
apiclient.Stub(x => x.ExecuteAsync<JToken>(Arg<string>.Is.Anything,Arg<string>.Is.Anything,Outcome = Success
}));
}
else
{
apiclient.Stub(x => x.ExecuteAsync<JToken>(Arg<string>.Is.Anything,Arg<StringContent>.Is.Anything)).IgnoreArguments().Return(Task.Fromresult(new ServiceResponse<JToken>
{
Data = JObject.Parse(jsonDataFails),Outcome = Success
}));
}
IoCFactory.RegisterInstance(typeof(Iapiclient),apiclient);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。