diff --git a/ecs/crm-datafetch/tests/parser/test_json_parse.py b/ecs/crm-datafetch/tests/parser/test_json_parse.py index fe2c96ea..1991aa54 100644 --- a/ecs/crm-datafetch/tests/parser/test_json_parse.py +++ b/ecs/crm-datafetch/tests/parser/test_json_parse.py @@ -1,3 +1,4 @@ +import pytest from src.parser.json_parse import JsonParser @@ -26,6 +27,7 @@ class TestJsonParser(): ] }""" + # Act sut = JsonParser(json_string) actual = sut.parse() @@ -41,3 +43,35 @@ class TestJsonParser(): } assert actual == expected_value + + def test_raise_parse(self) -> dict: + """ + Cases: + - コメントアウト記号ではない文字をコメントアウトとしたときに、例外が発生すること + Arranges: + - JSON文字列を準備する + Expects: + - 例外が発生し期待値と一致する + """ + + # Arranges + json_string = """{ + "aaaa": "aaaa", + $ これはコメントです + "#これはコメントではありません": "#これはコメントではありません", + "bbb": false, + "hogehoge": [ + "ccc", + /これはコメントです + "/これはコメントではありません" + ] + }""" + + # Act + with pytest.raises(Exception) as e: + + sut = JsonParser(json_string) + sut.parse() + + # Expects + assert str(e.value) == "Expecting property name enclosed in double quotes: line 3 column 13 (char 42)"