Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 在单元测试用例中重置模拟数据_Unit Testing_Rhino Mocks_Web Api Testing - Fatal编程技术网

Unit testing 在单元测试用例中重置模拟数据

Unit testing 在单元测试用例中重置模拟数据,unit-testing,rhino-mocks,web-api-testing,Unit Testing,Rhino Mocks,Web Api Testing,我正在使用Rhino Mock,希望根据单元测试中传递的参数设置不同的数据。当我单独运行它们时,它们按预期运行,但是当我并行运行它们时,数据集一次不会改变,尽管if-else代码会执行 public SetMockData(bool pass=true) { var jsonDataPass = "{\"results\":[{\"a\":\"12345\",\"StatusId\":

我正在使用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, Arg<HttpMethod>.Is.Anything, Arg<StringContent>.Is.Anything)).IgnoreArguments().Return(Task.FromResult(new ServiceResponse<JToken>
        {
          Data = JObject.Parse(jsonDataPass),
          Outcome = Success
        }));
      }
      else
      {
        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(jsonDataFails),
          Outcome = Success
        }));
        apiClient.Stub(x => x.ExecuteAsync<JToken>(Arg<string>.Is.Anything, Arg<string>.Is.Anything, Arg<HttpMethod>.Is.Anything, Arg<StringContent>.Is.Anything)).IgnoreArguments().Return(Task.FromResult(new ServiceResponse<JToken>
        {
          Data = JObject.Parse(jsonDataFails),
          Outcome = Success
        }));
      }
      IoCFactory.RegisterInstance(typeof(IApiClient), apiClient); 
    }
public SetMockData(bool pass=true)
{
var jsonDataPass=“{\'结果\”:[{\'a\':\'12345\,\'StatusId\':\'12\,\'Id\':\'30\,\'PrimaryId\':'1\';
var jsonDataFails=“{\'results\”:[{\'a\':\'12875\,\'StatusId\':\'13\,\'Id\':\'34\,\'PrimaryId\':'2\';
var apiClient=MockRepository.GenerateMock();
apiClient.Stub(x=>x.GetApiUrl(null,null)).IgnoreArguments().Return(“”);
如果(通过)
{
apiClient.Stub(x=>x.ExecuteAsync(Arg.Is.Anything,Arg.Is.Anything,Arg.Is.Anything)).IgnoreArguments().Return(Task.FromResult(new ServiceResponse
{
Data=JObject.Parse(jsonDataPass),
结果=成功
}));
apiClient.Stub(x=>x.ExecuteAsync(Arg.Is.Anything,Arg.Is.Anything,Arg.Is.Anything,Arg.Is.Anything,Arg.Is.Anything)).IgnoreArguments().Return(Task.FromResult(new ServiceResponse
{
Data=JObject.Parse(jsonDataPass),
结果=成功
}));
}
其他的
{
apiClient.Stub(x=>x.ExecuteAsync(Arg.Is.Anything,Arg.Is.Anything,Arg.Is.Anything)).IgnoreArguments().Return(Task.FromResult(new ServiceResponse
{
Data=JObject.Parse(jsonDataFails),
结果=成功
}));
apiClient.Stub(x=>x.ExecuteAsync(Arg.Is.Anything,Arg.Is.Anything,Arg.Is.Anything,Arg.Is.Anything,Arg.Is.Anything)).IgnoreArguments().Return(Task.FromResult(new ServiceResponse
{
Data=JObject.Parse(jsonDataFails),
结果=成功
}));
}
IoCFactory.RegisterInstance(类型为(IapClient),ApicClient);
}

为什么要让模拟数据设置并行运行?这会带来各种各样的问题