当前位置: 首页 > 知识库问答 >
问题:

角度测试专用方法[副本]

戎泰
2023-03-14

我已经构建了一种队列管理器,它与RxJs可观察对象一起工作,并逐个执行它们。现在我想测试这个,但是我想测试的所有方法都是私有的。

公共接口只有两个方法可以创建一个可观察对象并将其添加到队列管理器。

如果我尝试制作类似于spyOn(myService,'privateMethod')PhpStorm的东西,分析表明它不可分配给type(并指公共方法)。

我不能把它提炼成公开的东西,因为这是一个复杂的逻辑,不应该被外界打断。

共有1个答案

阚小云
2023-03-14

你可以使用spyOn

但是如果你的方法是私有的,就不应该测试它们,它们应该是实现细节。相反,你应该测试公共功能的最终结果。

 类似资料:
  • 问题内容: 故事: 最近,由于其稳定和功能丰富,我们的UI从自定义表切换到Angular UI网格。 Angular UI网格主页面声称具有“ e2e测试集成”,但是我们很难做到这一点。 据我们了解,它们在“ e2e测试集成”下的含义是两个帮助文件:和。 有很多问题: 这两个帮助文件不是模块本身的一部分,并且不能作为单独的库使用,这意味着我们需要基本复制这两个文件的 当前 内容并手动在本地创建它们

  • 我想知道我正在构建和测试的服务的方法是否正确。我总是将我的类设计为尽可能的封装。所以,在构建角度服务时,我也用同样的方式构建它们。 下面是我的服务的一个片段: 如上所述,我不允许组件直接访问私有变量,而是使用方法来完成所有交互。这里的问题是单元测试有点混乱。如果我想正确测试我的方法是否正确返回我的中的帖子列表,如果它存在,我必须在为超文本传输协议创建存根值后运行它一次,以确保私有字段设置,然后再次

  • 问题内容: Angular Controller中的方法很少,它们不在scope变量上。 有谁知道,我们如何在Jasmine测试中执行或调用这些方法? 这是主要代码。 现在,在我的茉莉花测试中,我们正在传递“ handleSuccessOfAPI”和“ handleFailureOfAPI”方法,但是这些是未定义的。 这是茉莉花测试代码。 问题答案: 因为您将无法使用这些功能。当您定义一个命名的J

  • 问题内容: 我是Protractor的新手。尽管缺少文档,但我仍然了解基本原理,但找不到解决此问题的方法。 给出以下代码: 我可以看到输入获取了要插入的文本,并且模型以相同的值更新,但是测试失败,原因是description.getText()返回’‘(空字符串)。 有没有其他方法可以在输入中捕获值? 提前致谢。 问题答案: 显然,Selenium WebDriver有一个怪癖。看这里 尝试: 注

  • 问题内容: 我需要测试事件是否正确发出或广播,并手动触发事件。 最好的方法是什么? 问题答案: 如果您只需要对事件触发和捕获进行一些测试,这就是我的方法。为了确保触发某个事件(-ed或-ed),必须采取间谍措施。您需要引用将要调用or 的范围,然后才可以执行以下操作: 如果您不需要或不想担心随传递的参数,则可以在上放一个,并设置一个标志以了解该事件已发出。像这样: 对于在捕获事件()时运行的测试功

  • 问题内容: WebStorm中提供了一种运行和调试量角器Web测试的方法。我只想在这里分享这个答案 问题答案: 获取节点路径(在终端中输入) 在WebStorm中:单击“ 编辑配置 ”-“ 运行 ”按钮左侧的下拉菜单(绿色箭头,类似于“播放”按钮) 单击“添加按钮”(绿色 + )以添加新的Node配置。选择“ Node.js ” 填写参数: 节点解释器 :Node.js的完整路径(从步骤1开始)