我运行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)) #引发错误
expect_warning(f(1), NA)
:
f(1)
是否生成任何警告。NA
参数的意思是“我不关心警告的内容”。它基本上告诉 expect_warning
您不希望返回任何特定的警告消息。f(1)
未生成警告,则测试会安静地通过(不返回任何内容)。如果它确实生成警告,则测试将失败,因为它不是预期的。expect_warning(f(1))
:
f(1)
是否生成警告,并期望生成一些警告消息。f(1)
没有生成警告,或者如果它引发错误而不是警告,那么如果我没有记错的话,测试将失败并出现错误。来自
expect_error
的文档:
regexp:要测试的正则表达式。如果省略,则仅断言代码产生一些输出、消息、警告或错误。或者,您可以指定 NA 来指示不应有输出、消息、警告或错误。