- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试测试我是否正确地转换了从第三方 api 返回的数据。我在使用 Mox 时遇到了一些麻烦,因为我需要在数据转换期间点击两个单独的端点。让我通过发布代码更清楚地解释:
测试:
test "players/0 return all active players" do
Statcasters.SportRadarNbaApi.ClientMock
|> expect(:league_hierarchy, fn ->
{:ok, league_hierarchy_map()}
end)
Statcasters.SportRadarNbaApi.ClientMock
|> expect(:team_profile, fn _ ->
{:ok, team_profile_map()}
end)
assert Statcasters.Sports.Nba.get_players() == ["Kevon Looney", "Patrick McCaw"]
end
def get_players do
with {:ok, hierarchy} <- @sport_radar_nba_api.league_hierarchy,
team_ids <- get_team_ids(hierarchy),
players <- get_team_players(team_ids)
do
IO.inspect players
end
end
defp get_team_players(team_ids) do
for team_id <- team_ids do
{:ok, team} = @sport_radar_nba_api.team_profile(team_id)
end
end
team_profile
在测试中被调用两次,因为我遍历了两个
team_ids
并为每个
team_id
我调用 API。这是意料之中的,但测试并未为此做好准备,因为我收到此错误。
** (Mox.UnexpectedCallError) expected Statcasters.SportRadarNbaApi.ClientMock.team_profile/1 to be called once but it has been called 2 times in process #PID<0.410.0>
最佳答案
third optional argument to expect
是应调用模拟函数的次数。在这种情况下,只需将其设置为 2
:
Statcasters.SportRadarNbaApi.ClientMock
|> expect(:team_profile, 2, fn _ ->
{:ok, team_profile_map()}
end)
关于elixir - 使用 Mox 测试函数链中的多个 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51675892/
我有一个函数 A 多次调用另一个函数 B。我想以这样一种方式模拟 B,即 任何数量 具有正确参数数量的调用,无论值如何,都将返回一个固定值并被视为正确。 函数是否被调用或被调用多少次不是规范的一部分。
我有一个类: class MyClass(object): @property def myproperty(self): return 'hello' 使用 mox和
我想检查是否使用字符串调用函数 - 但是,如果使用“%s”创建该字符串来插入子字符串,似乎会有所不同。测试失败并出现以下错误: UnexpectedMethodCallError: Unexpecte
背景 我有一个库,它使用 HTTPoison 来实现我需要测试的某些功能。为此,我使用 Mox ,我相信它是 Elixir 的通用模拟库(尽管还有其他这个库有 José Valim 的批准印章) 问题
首先是问题的原因——pymox官方文档: https://code.google.com/p/pymox/wiki/MoxDocumentation MockAnything 部分中有一条声明告诉“除
我正在尝试编写一个 mox 测试来读取电子表格(4 列)、获取提要并将特定列(2 列)写入 CSV 文件。我试图通过获取列表提要的第一步,我的代码如下: class SpreadsheetReader
我正在尝试测试我是否正确地转换了从第三方 api 返回的数据。我在使用 Mox 时遇到了一些麻烦,因为我需要在数据转换期间点击两个单独的端点。让我通过发布代码更清楚地解释: 测试: test "p
我正在测试一个函数,该函数从一个辅助对象获取骨架对象,使用第二个辅助对象对其进行修改,然后将修改后的对象传递回第一个辅助对象。类似的东西: class ReadModifyUpdate(object)
我想在 init 方法调用的类中 stub 一个方法。 class MyClass(object): def __init__(self): # Some initializer code
我正在尝试在我的 Elixir 项目中使用名为 Mox 的模拟库,但即使遵循官方文档: https://hexdocs.pm/mox/Mox.html 我无法为我的模块函数定义新的行为。尝试运行测试时
我最近开始使用 Nose 进行单元测试。它非常好,除了有时发生错误时它会以一种非常奇怪的方式打印出错误信息。它把它分成每行 1 个字符,然后用行号打印出来。有谁知道如何解决这个问题? ....F...
我是一名优秀的程序员,十分优秀!