R语言 except_warning()

问题描述 投票:0回答:1

我运行expect_warning(f(1), NA)没有任何反应,但expect_warning(f(1))会引发错误。 NA在这里做什么? NA是否意味着expect_warning(f(1), NA)不关心这里是否发生错误?

expect_warning(f(1), NA) #不返回任何内容 Expect_warning(f(1)) #引发错误

r
1个回答
0
投票
  • expect_warning(f(1), NA)
    • 这会检查
      f(1)
      是否生成任何警告。
    • NA
      参数的意思是“我不关心警告的内容”。它基本上告诉
      expect_warning
      您不希望返回任何特定的警告消息。
    • 如果
      f(1)
      未生成警告,则测试会安静地通过(不返回任何内容)。如果它确实生成警告,则测试将失败,因为它不是预期的。
  • expect_warning(f(1))
    • 这会检查
      f(1)
      是否生成警告,并期望生成一些警告消息。
    • 如果
      f(1)
      没有生成警告,或者如果它引发错误而不是警告,那么如果我没有记错的话,测试将失败并出现错误。

来自

expect_error
的文档:

regexp:要测试的正则表达式。如果省略,则仅断言代码产生一些输出、消息、警告或错误。或者,您可以指定 NA 来指示不应有输出、消息、警告或错误。

© www.soinside.com 2019 - 2024. All rights reserved.