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 在单元测试中模拟azure blob存储_Unit Testing_Azure_Mocking_Azure Storage_Azure Storage Blobs - Fatal编程技术网

Unit testing 在单元测试中模拟azure blob存储

Unit testing 在单元测试中模拟azure blob存储,unit-testing,azure,mocking,azure-storage,azure-storage-blobs,Unit Testing,Azure,Mocking,Azure Storage,Azure Storage Blobs,我是否可以在不运行storage emulator的情况下模拟azure blob存储?如果有人能够解释一下这一点,那将是非常有帮助的,因为存储库没有用于模拟的接口,因此如果您真的想模拟它,我想您有两个选择: 自己创建一个接口,并将与存储库的交互隐藏在自己的类后面。然后使用您的接口进行模拟测试。这是我过去做过很多的事情,试图将存储库的使用从应用程序的其余部分抽象出来。当然,您可以在自己的代码中进行抽象,或者存储库在GitHub上。您可以分叉它并开始添加接口,以使模拟更容易。我认为,您只需在自己的

我是否可以在不运行storage emulator的情况下模拟azure blob存储?如果有人能够解释一下这一点,那将是非常有帮助的,因为存储库没有用于模拟的接口,因此如果您真的想模拟它,我想您有两个选择:

  • 自己创建一个接口,并将与存储库的交互隐藏在自己的类后面。然后使用您的接口进行模拟测试。这是我过去做过很多的事情,试图将存储库的使用从应用程序的其余部分抽象出来。当然,您可以在自己的代码中进行抽象,或者存储库在GitHub上。您可以分叉它并开始添加接口,以使模拟更容易。我认为,您只需在自己的代码中创建一个接口和一个具体的实现,就可以完成与存储子系统进行交互的必要工作,以实现特定于您的场景

  • 使用能够拦截的模拟框架,并且可以模拟没有接口的类型。类似于TypeMock的东西。还有其他的,免费的和商业的


  • 您可以使用Microsoft fakes,它简单易用,是typemock的免费替代品

    谢谢您的回答,但问题是您是否有特定的代码来创建blob容器,然后将文件上载到blob。我可以为这些方法编写单元测试吗?如果您想针对实际的存储库进行详细测试,那么您应该查看TypeMock或Microsoft Fakes,如另一个答案中所示的user2746950。这些模拟框架应该能够让您拦截对实际存储库的调用。同样,你可以使用一个接口从你的应用程序中抽象出这一点,并确保调用该接口来完成工作。这不是免费的,你需要Visual Studio Enterprise来使用此功能