测试'expect_equal'返回错误-尽管实际输出和预期输出相同,但这不是正确的

Luiy_coder

我正在写一个测试脚本,以测试是否根据我的逻辑做了一些修改。我期望的输出和实际输出是json文件,它们是完全相同的。我的目的是检查实际输出是否等于预期输出。首先,我的功能是它,它必须从该位置读取json文件,并且必须将parentTCode字符替换为null,因为我们只需要parentTCode中的数字。

LoadData = function(inputPath) {
  options(encoding = "UTF-8")
  if(file.exists(inputPath)) {
    setting = read_json(path = inputPath, simplifyVector = TRUE)
    setting$ParentTCode = stri_replace(str = setting$ParentTCode, replacement = "", fixed = "T")
  } else {
    stop(paste0("There's no setting json file at ", inputPath))
  }
  return(setting)
}

我的测试脚本是这样

test_that(desc = "Test for 'LoadData' Condition 1",
          code = {
            filePath = "./Test/Data/Input/setting.json"
            expected_output = "./Test/Data/expected_output.json"
            expect_equal(LoadData(inputPath = filePath), expected_output)
            }
)

我感到困惑,因为当实际输出和预期输出相同时,为什么会引发这样的错误。

Error: LoadSettingJsonLDG(inputPath = filePath) not equal to `expected_output`.
Modes: list, character
names for target but not for current
Length mismatch: comparison on first 1 components
Component 1: 1 string mismatch

我将在这里附加我的json文件示例,如下所示

{
  "ParentTCode": ["T2802"],
  "Code": ["0001"],
  "DataType": ["Diva"],
  "FileExtention": [null],
  "Currency": [false],
  "OriginalUnit": [1000],
  "ExportUnit": [1000000]
}

这是LoadData函数的输入文件。输出看起来像这样

{
  "ParentTCode": ["2802"],
  "Code": ["0001"],
  "DataType": ["Diva"],
  "FileExtention": [null],
  "Currency": [false],
  "OriginalUnit": [1000],
  "ExportUnit": [1000000]
}

如果有人能帮助我,我会很高兴。提前致谢。

r2evans

expect_equal调用的第二个参数character长度1,它是指向包含所需输出内容的文件的路径。由于第一个参数是a list,所以acharacterlist不相等也就不足为奇了

我认为您打算将该文件的解析内容进行比较。如果您将测试替换为:

test_that(desc = "Test for 'LoadData' Condition 1",
          code = {
            filePath = "./Test/Data/Input/setting.json"
            expected_output = "./Test/Data/expected_output.json"
            expect_equal(LoadData(inputPath = filePath),
                         fromJSON(expected_output))
            }
)

它应该工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

测试和报告多功能调用返回错误的技术

来自分类Dev

Web窗体错误消息:“这不是scriptlet。将以纯文本形式输出”

来自分类Dev

Selenium测试使用chrome和egde返回相同的错误java.net.SocketException

来自分类Dev

Javascript正确或错误测试不会输出任何内容

来自分类Dev

使摩卡测试显示实际错误

来自分类Dev

单元测试输出中的编码错误

来自分类Dev

在测试时(HTML 500),使用HTML和PHP创建联系页面可能会返回错误

来自分类Dev

酶测试:TypeError:expect(...).find 不是函数

来自分类Dev

使用Mocha返回错误测试Angular

来自分类Dev

反应 - 玩笑测试返回 API 令牌错误

来自分类Dev

toFixed 返回错误输出

来自分类Dev

GTest测试用例“ EXPECT_CALL”的编译错误

来自分类Dev

GTest测试用例“ EXPECT_CALL”的编译错误

来自分类Dev

Grep命令未返回预期的测试结果

来自分类Dev

Grep命令未返回预期的测试结果

来自分类Dev

Python:测试输出(...不是单元测试?)

来自分类Dev

Caesar Cipher:为什么我的程序返回错误的答案,当用作测试的打印值之间有正确的值时?

来自分类Dev

UnitTest显示测试失败,而预期结果和实际结果相同

来自分类Dev

如何确保Rails控制器测试后的响应是JSON,为什么这不是正确的方法?

来自分类Dev

如何修复异步测试和挂钩的超时错误,确保调用“done()”;如果返回 Promise,请确保它已解决

来自分类Dev

Ruby和RSpec-当预期输出与方法相同时测试失败

来自分类Dev

在Java中测试预期的编译时错误

来自分类Dev

引发预期错误时,Pester测试失败

来自分类Dev

这不是歧义错误吗?

来自分类Dev

Shell脚本返回错误的输出

来自分类Dev

EXPECT_THROW - 实际:它抛出不同的类型,谷歌测试

来自分类Dev

测试时错误的URI(不是URI?)规格

来自分类Dev

如何正确测试错误对象?

来自分类Dev

测试是正确的,但答案仍然是错误的

Related 相关文章

  1. 1

    测试和报告多功能调用返回错误的技术

  2. 2

    Web窗体错误消息:“这不是scriptlet。将以纯文本形式输出”

  3. 3

    Selenium测试使用chrome和egde返回相同的错误java.net.SocketException

  4. 4

    Javascript正确或错误测试不会输出任何内容

  5. 5

    使摩卡测试显示实际错误

  6. 6

    单元测试输出中的编码错误

  7. 7

    在测试时(HTML 500),使用HTML和PHP创建联系页面可能会返回错误

  8. 8

    酶测试:TypeError:expect(...).find 不是函数

  9. 9

    使用Mocha返回错误测试Angular

  10. 10

    反应 - 玩笑测试返回 API 令牌错误

  11. 11

    toFixed 返回错误输出

  12. 12

    GTest测试用例“ EXPECT_CALL”的编译错误

  13. 13

    GTest测试用例“ EXPECT_CALL”的编译错误

  14. 14

    Grep命令未返回预期的测试结果

  15. 15

    Grep命令未返回预期的测试结果

  16. 16

    Python:测试输出(...不是单元测试?)

  17. 17

    Caesar Cipher:为什么我的程序返回错误的答案,当用作测试的打印值之间有正确的值时?

  18. 18

    UnitTest显示测试失败,而预期结果和实际结果相同

  19. 19

    如何确保Rails控制器测试后的响应是JSON,为什么这不是正确的方法?

  20. 20

    如何修复异步测试和挂钩的超时错误,确保调用“done()”;如果返回 Promise,请确保它已解决

  21. 21

    Ruby和RSpec-当预期输出与方法相同时测试失败

  22. 22

    在Java中测试预期的编译时错误

  23. 23

    引发预期错误时,Pester测试失败

  24. 24

    这不是歧义错误吗?

  25. 25

    Shell脚本返回错误的输出

  26. 26

    EXPECT_THROW - 实际:它抛出不同的类型,谷歌测试

  27. 27

    测试时错误的URI(不是URI?)规格

  28. 28

    如何正确测试错误对象?

  29. 29

    测试是正确的,但答案仍然是错误的

热门标签

归档