大きなテストファイルを小さなテストに分割し、テストするコードの部分に基づいてテストします。私は自分のテストのためにカスタムアサーション機能を持っています。それらを別々のファイルに分割すると、それらを他のテストファイルにどのようにインポートする必要がありますか。カスタムアサートPythonを書く方法
TestSchemacase:
class TestSchemaCase(unittest.TestCase):
"""
This will test our schema against the JSONTransformer output
just to make sure the schema matches the model
"""
# pylint: disable=too-many-public-methods
_base_dir = os.path.realpath(os.path.dirname(__file__))
def assertJSONValidates(self, schema, data):
"""
This function asserts the validation works as expected
Args:
schema(dict): The schema to test against
data(dict): The data to validate using the schema
"""
# pylint: disable=invalid-name
validator = jsonschema.Draft4Validator(schema)
self.assertIsNone(validator.validate(data))
def assertJSONValidateFails(self, schema, data):
"""
This function will assertRaises an ValidationError Exception
is raised.
Args:
schema(dict): The schema to validate from
data(dict): The data to validate using the schema
"""
# pylint: disable=invalid-name
validator = jsonschema.Draft4Validator(schema)
with self.assertRaises(jsonschema.ValidationError):
validator.validate(data)
私の質問は、1です。インポートしようとすると、モジュール名が見つからないというインポートエラーが発生します。私は言及された小さなファイルにTestValidationを壊しています。 2.私はassertJSONValidateFailsでValidationエラーを発生させることができますが、検証パスの場合は何を返すべきかを知っています。
tests/schema
├── TestSchemaCase.py
├── TestValidation.py
├── __init__.py
└── models
├── Fields
│ ├── TestImplemen.py
│ ├── TestRes.py
│ └── __init__.py
├── Values
│ ├── TestInk.py
│ ├── TestAlue.py
│ └── __init__.py
└── __init__.py
3.これはどのように継承する必要がありますか? class TestRes(unittest.TestCase、TestSchemaCase):
ありがとうございました。大きなポストに申し訳ありません
私はポストを見ましたが、それは問題を解決しません。
Pythonでカスタムの '.assertFoo()\'メソッドを書く方法は?](http://stackoverflow.com/questions/6655724/how-to-write-a-custom-assertfoo-メソッドイン・パイソン) –