注意:测试程序不支持绝对路径的导入。VSCODE自动导入需要用相对路径替换
跑步:
<会出现依赖错误>
我们唯一的一个提供商计划,也就是说,从理论上讲,我们需要修复错误,我们只需要在中间添加所需的程序。在 - 溶解中进行,但这并不意味着完全隔离。隔离意味着测试不应取决于外部依赖关系。脆弱的测试和不带来任何主要价值。我们对与数据库相关的提供商的依赖性,但是我们要做的最后一件事就是实例化一个真实数据库,仅用于单位测试因此,需要其他选择:无需创建复杂模拟或连接到真实数据库。我们真正需要做的是确保有U场景请求的提供者可以用作临时解决方案。所有类别都取决于:
接受一个实体并返回一个。对于所有这些提供者,一个空的对象是值得的。一旦开始测试特定方法,我们将用模拟替换这些空对象。
在测试包含业务逻辑或类似类的服务时,我们更喜欢根据方法对相关测试进行分组。方法名称用作我们的描述()块。
在此处测试以下方法:
定义测试用例:
它会发现:
这是理所当然的,因为我们以前使用了空对象作为实体,显然其中没有方法,因此此错误是有道理的。
最好的方法是创建一个仅返回一个模拟对象的常规函数,该函数包含存储类型提供的所有相同方法,然后将这些方法存根以根据特定条件操纵其行为:
然后替换:
然后,第二步我们需要在测试功能中使用变量,因此我们需要确定是否定义了变量。
相应的仿真方法:
最终测试成功:
接下来,完成故障路径的测试逻辑:
最后,它也成功了:
完整代码:
初始文件:
跑步:
该警告意味着一些异步操作并未在我们的测试中结束。您需要关闭您的申请:
最终代码:
在测试文件夹下创建一个文件夹并创建
提醒加入此问题:
但是显然,目前,之前已经看到的依赖性错误是没有数据库。通常,有三种方法可以解决:
这里使用第三种方法:
打开一个文件
然后将脚本添加到软件包下的简化操作中。
返回文件并导入初始化:
将创建一个应用程序实例,我们需要将所有配置添加到文件中:
使用需要茉莉花安装并添加最后一行:
添加逻辑后的代码:
原始:https://juejin.cn/post/7097942551256121351