ck/marcspec-test-suite

MARCspec解析器的测试套件

v0.3 2017-11-28 15:23 UTC

This package is auto-updated.

Last update: 2024-09-09 13:06:33 UTC


README

此存储库包含一组JSON对象,MARCspec解析器库的开发者可以使用这些对象来测试他们的实现。

概述

测试分为有效和无效。因此有两个目录 valid/ 和 invalid/。

每个目录都包含多个.json文件,每个文件包含一个根JSON对象,其中包含多个测试对象。

文件名可能有助于了解哪些测试被覆盖。以wildCombination_开头的文件是(野)组合测试数据,这些测试数据以validinvalid开头。

JSON结构

每个根JSON对象包含一个对象,其中包含描述、验证架构和一些测试。每个测试本身也是一个对象,包含描述、测试数据和验证语句(true或false)。

以下是一个.json文件内容的示例

{
    "description": "field tags are strings and match pattern",
    "schema": {
      "type": "string",
      "pattern": "^([.a-z0-9]{3,3}|[.A-Z0-9]{3,3})$"
    },
    "tests": [
        {
            "description": "all wildcards",
            "data": "...",
            "valid": true
        },
        {
            "description": "two wildcards left with digit",
            "data": "..0",
            "valid": true
        },
        {
            "description": "one wildcard left with two digits",
            "data": ".00",
            "valid": true
        }
    ]
}

关于测试

并非每个文件都包含完整的MARCspec引用。只有以wildCombination_开头和*FieldTag.json的文件包含。

其他文件

  • *ComparisonString.json
  • *Indicators.json
  • *PositionOrRange.json
  • *SubfieldRange.json
  • *SubfieldTag.json
  • *SubSpec.json

包含MARCspec引用的有效或无效片段。这使得测试不同的功能(例如,比较字符串解析器)变得容易。