首页 > 解决方案 > 测试失败:对象没有输出

问题描述

我正在用 R 编写我的第一个测试套件,但遇到了一些我不太理解的东西。我编写了一个连接到 API 并收集一些数据的函数。我将它存储为 S3 类。

我想写一些测试来确保我的输出是正确的。

知道如果我对 API 进行通用调用,我应该得到预期的输出。但是,我收到“无输出错误”。

# IN test_api.R
test_object <- spacejam("2010-01-01", "2010-12-31")

test_that("Output is correct", {
  correct_df <- data.frame("index" = c(1:6), 
                           "time" = c("2010-06-13T16:42Z", "2010-07-30T16:08Z", "2010-08-01T08:10Z",
                                      "2010-08-01T10:20Z", "2010-08-01T11:20Z", "2010-08-01T17:00Z"),
                           "speed" = c(500, 750, 760, 1800, 1300, 550),
                           "type" = c("C", "C", "C", "O", "O", "C"))
  expect_output(head(test_object$data), correct_df)
})

运行测试包时的错误

Failure (test_api.R:33:3): Output is correct
`head(test_object)` produced no output

如果我打电话给它是什么产生的test_object

> attributes(test_object)
$names
[1] "data"     "response"

$class
[1] "spacejam_API"

> head(test_object$data)
  index              time speed type
1     1 2010-06-13T16:42Z   500    C
2     2 2010-07-30T16:08Z   750    C
3     3 2010-08-01T08:10Z   760    C
4     4 2010-08-01T10:20Z  1800    O
5     5 2010-08-01T11:20Z  1300    O
6     6 2010-08-01T17:00Z   550    C

为什么会这样?

标签: runit-testingautomated-tests

解决方案


推荐阅读