首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用蓝色存储文件共享、服务总线编写功能单元测试?

问如何使用蓝色存储文件共享、服务总线编写功能单元测试?
EN

Stack Overflow用户
提问于 2022-06-08 11:22:11
回答 1查看 266关注 0票数 0

我有nestjs应用程序,对于单元测试,我需要测试从azure存储文件共享获取文件数据,因为我使用@azure/存储-文件共享。但是我不想访问实际的存储帐户,因为在我们的github管道运行程序中,它是不可访问的。是否有一种在本地/cicd管道上测试存储文件共享而不尝试访问实际服务的方法?我在用玩笑写单元测试。

我也想用蓝色巴士做同样的事。

EN

回答 1

Stack Overflow用户

发布于 2022-06-08 17:13:11

这在很大程度上取决于你如何设置你的应用程序,但你最好的选择是模仿存储和服务总线。请参阅医生们来模拟一个完整的npm模块,但是一旦您这样做了,任何对Azure服务的调用都不会发生,它们将什么也不做,您仍然可以测试调用是否已经完成。

但是,如果您的测试依赖于数据--它们从存储中提取数据--我将确保您将数据层分隔到单独的接口中。例如:

代码语言:javascript
复制
export const loadData = (key) => {
  // use Storage library to get the file
  // ...
  return data;
}

export const saveData = (key) => {
  // use Storage library to save the file
  // ...
  return success;
}

如果您已经隐藏了像这样的接口后面的文件实现,那么现在只需模拟loadData()

代码语言:javascript
复制
import * from './myDataInterface';
// ... more code ...

// 'my data' could be a string, object, whatever you need the loaded file to be to set up your test
const mock = jest.spyOn(myDataInterface, 'loadData').mockReturnValue('my data');

现在,当您正在测试的代码调用loadData()时,它将运行模拟并返回您期望的结果,而不是调用存储模块。

更多关于在开玩笑的医生中嘲弄,我不认为这是100%符合您的需要,但希望这是一个好的开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72544833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档