Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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
C# 如何使用Rhino Mock对静态构造函数进行单元测试_C#_Testing_Rhino Mocks - Fatal编程技术网

C# 如何使用Rhino Mock对静态构造函数进行单元测试

C# 如何使用Rhino Mock对静态构造函数进行单元测试,c#,testing,rhino-mocks,C#,Testing,Rhino Mocks,我正在使用Visual Studio 2012和MSTest进行单元测试。为了生成模拟,我使用免费的Rhino模拟。但我无法为静态构造函数编写单元测试用例。 我正在使用静态构造函数执行初始化WCF服务之类的操作。有人能建议我如何为静态构造函数编写单元测试,或者如何对其进行重构吗 示例代码: static PublisherSubscriber() { _isServiceInitializing = true; Initialize(); _mefInitializer

我正在使用Visual Studio 2012和MSTest进行单元测试。为了生成模拟,我使用免费的Rhino模拟。但我无法为静态构造函数编写单元测试用例。 我正在使用静态构造函数执行初始化WCF服务之类的操作。有人能建议我如何为静态构造函数编写单元测试,或者如何对其进行重构吗

示例代码:

static PublisherSubscriber()
{ 
    _isServiceInitializing = true;
    Initialize();
    _mefInitializer = MEFInitializer.GetInstance();
    _subscriptionManagerInstance = SubscriptionManager.GetInstance();
    requestManagerInstance = RequestManager.GetInstance();
} 

在上面的代码中,subscription manager和requestmanager在初始化时初始化数据存储。最终的要求是模拟这种依赖关系,这种依赖关系不可能注入到静态构造函数中,也不可能重构代码以使其可进行单元测试

您想测试什么行为?您可以发布一个代码示例吗?示例代码-静态PublisherSubscriber(){u isServiceInitializing=true;Initialize();_mefInitializer=mefInitializer.GetInstance();_subscriptionManagerInstance=SubscriptionManager.GetInstance();_requestManagerInstance=RequestManager.GetInstance();}在上面的代码中,subscription manager和requestmanager在初始化时初始化数据存储。最终的要求是模拟这种依赖关系,而这种依赖关系不可能注入静态构造函数,也不可能重构代码以使其具有单元可测试性。我已经提交了对它的编辑,但当您将代码添加到现有问题时。编辑你的问题并添加代码。你想测试什么行为?您可以发布一个代码示例吗?示例代码-静态PublisherSubscriber(){u isServiceInitializing=true;Initialize();_mefInitializer=mefInitializer.GetInstance();_subscriptionManagerInstance=SubscriptionManager.GetInstance();_requestManagerInstance=RequestManager.GetInstance();}在上面的代码中,subscription manager和requestmanager在初始化时初始化数据存储。最终的要求是模拟这种依赖关系,而这种依赖关系不可能注入静态构造函数,也不可能重构代码以使其具有单元可测试性。我已经提交了对它的编辑,但当您将代码添加到现有问题时。编辑您的问题并添加代码。