2

Pythonconfigobjに問題があります。config.validate(validator、preserve_errors = True)中にcsの「parameter」(名前付きパラメーター)がconfigに追加されるのはなぜですか?

    def test_MissingSectionError(self):
        cfg = '''
[general]
    name = TestInteractionExample 1

[this_is_not_para_meter]
    [[frequency]]
        default_value = 900
        description = Description of parameter1
'''
        cs = '''
[general]
    name = string
[parameter]
    [[__many__]]
        default_value =
        description =
'''
        cfg_io = StringIO(cfg)
        cs_io = StringIO(cs)
        config = self.parser._get_configobj(cfg_io, cs_io, self.script)
        print 'Before validation: {}'.format(config)            
        validator = Validator()
        results = config.validate(validator, preserve_errors=True)
        print 'After validation: {}'.format(config)
        print 'result: {}'.format(results)

 #       self.assertRaises(MissingSectionError, self.parser._validate_config, config, self.script)

印刷は与える:

検証前:{u'general':{u'name':u'TestInteractionExample 1'}、u'this_is_not_para_meter':{u'frequency':{u'default_value':u'900'、u'description':u 'パラメータ1の説明'}}}検証後:{u'一般':{u'名前':u'TestInteractionExample 1'}、u'this_is_not_para_meter':{u'頻度':{u'デフォルト値':u'900 '、u' description':u'パラメータの説明'}}、'パラメータ':{}}結果:True

configに「parameter」がないため、これがtrueに検証されるのは不思議です。ただし、config.validate(validator、preserve_errors = True)のconfigに追加すると、trueになります。欠落している値をcsからconfigにコピーするオプションがあるかもしれません。

4

0 に答える 0