首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘'testthat',我应该如何解释这个失败?

‘'testthat',我应该如何解释这个失败?
EN

Stack Overflow用户
提问于 2020-01-07 22:21:59
回答 1查看 81关注 0票数 0

我想使用'testthat‘将测试添加到我的包中。

这是我的测试文件:

代码语言:javascript
复制
library(RBaseX)

test_that("Credentials are accepted", {
  skip_unless_socket_available()

  expect_error(BasexClient$new("localhost", 1984L, username = "admin", password = "denied"), "Access denied")

  Session <- BasexClient$new("localhost", 1984L, username = "admin", password = "admin")
  expect_equal(class(Session)[[1]], "BasexClient")
})

skip_unless_socket_available在单独的helper.r文件中定义:

代码语言:javascript
复制
skip_unless_socket_available <- function() {
  tryCatch({
    Socket <- socketConnection(host = "localhost", 1984,
                           open = "w+b", server = FALSE, blocking = TRUE, encoding = "utf-8")
    close(Socket)
    TRUE
  }, error = function(e) {
    skip(paste0("basexserver not available:\n'", conditionMessage(e), "'"))
  })
}

当程序执行时,我得到以下输出:

代码语言:javascript
复制
Loading RBaseX
Testing RBaseX
✓ |  OK F W S | Context
✓ |   2       | test_RbaseX [0.2 s]
⠹ |   2 1     | test_RbaseX
══ Results ═══════════════════════════════
Duration: 0.3 s

OK:       2
Failed:   1
Warnings: 0
Skipped:  0

无论我做什么,我还是会失败一次。但是,这两个异常都得到了正确的处理。

我应该如何处理这个失败?

在test_RBaseX.R中插入3个contexts()后,我现在得到以下输出:

代码语言:javascript
复制
Loading RBaseX
Testing RBaseX
✓ |  OK F W S | Context
✓ |   2       | Access [0.1 s]
✓ |   2       | Create Session [0.1 s]
⠏ |   0       | Check setter/getter (and BasexClient$Execute()) 
✓ |   2       | Check setter/getter (and BasexClient$Execute())
⠏ |   0       | Intercept set/get is handled correctlyDatabase 'TestOpen' is niet gevonden. 
Database 'TestOpen' is niet gevonden. 
Database 'TestOpen' is niet gevonden. 
✓ |   1       | Intercept set/get is handled correctly
⠙ |   1 1     | Intercept set/get is handled correctly
══ Results ════════════════════════════════════════════
Duration: 0.4 s

OK:       7
Failed:   1
Warnings: 0
Skipped:  0

所有测试都给出了预期的结果,但随后添加了1个失败。我仍然没有看到任何原因的迹象。

这有帮助吗?

(顺便说一句,感谢这些测试活动,我发现并修复了几个错误:-)

EN

回答 1

Stack Overflow用户

发布于 2020-02-19 21:11:31

将文件‘testth.R’从‘/test/testthat’目录移到‘/tests’目录后,不再检测到任何故障。

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

https://stackoverflow.com/questions/59630287

复制
相关文章

相似问题

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